[pkg-java] r3532 - in trunk/tomcat5.5: . 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/jk2 connectors/jk/xdocs/news 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/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 debian 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 11:26:21 UTC 2007


Author: marcusb-guest
Date: 2007-05-21 11:26:17 +0000 (Mon, 21 May 2007)
New Revision: 3532

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


Modified: trunk/tomcat5.5/build/BUILDING.txt
===================================================================
--- trunk/tomcat5.5/build/BUILDING.txt	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/build/BUILDING.txt	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/build/KEYS
===================================================================
--- trunk/tomcat5.5/build/KEYS	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/build/KEYS	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/build/build.properties.default
===================================================================
--- trunk/tomcat5.5/build/build.properties.default	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/build/build.properties.default	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/build/build.xml
===================================================================
--- trunk/tomcat5.5/build/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/build/build.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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" />
@@ -674,8 +675,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}">
@@ -1235,9 +1234,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: trunk/tomcat5.5/build/resources/build.xml
===================================================================
--- trunk/tomcat5.5/build/resources/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/build/resources/build.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/build/sign.bat
===================================================================
--- trunk/tomcat5.5/build/sign.bat	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/build/sign.bat	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/build/tomcat.nsi
===================================================================
--- trunk/tomcat5.5/build/tomcat.nsi	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/build/tomcat.nsi	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/build.xml
===================================================================
--- trunk/tomcat5.5/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/build.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/KEYS
===================================================================
--- trunk/tomcat5.5/connectors/KEYS	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/KEYS	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/CHANGES
===================================================================
--- trunk/tomcat5.5/connectors/ajp/CHANGES	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/CHANGES	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/ajplib/include/ajp.h
===================================================================
--- trunk/tomcat5.5/connectors/ajp/ajplib/include/ajp.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/ajplib/include/ajp.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/ajplib/include/ajp_header.h
===================================================================
--- trunk/tomcat5.5/connectors/ajp/ajplib/include/ajp_header.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/ajplib/include/ajp_header.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

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

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

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

Modified: trunk/tomcat5.5/connectors/ajp/ajplib/src/ajp_msg.c
===================================================================
--- trunk/tomcat5.5/connectors/ajp/ajplib/src/ajp_msg.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/ajplib/src/ajp_msg.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/ajplib/test/httpd_wrap.c
===================================================================
--- trunk/tomcat5.5/connectors/ajp/ajplib/test/httpd_wrap.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/ajplib/test/httpd_wrap.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/ajplib/test/httpd_wrap.h
===================================================================
--- trunk/tomcat5.5/connectors/ajp/ajplib/test/httpd_wrap.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/ajplib/test/httpd_wrap.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/ajplib/test/testajp.c
===================================================================
--- trunk/tomcat5.5/connectors/ajp/ajplib/test/testajp.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/ajplib/test/testajp.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/proxy/JAKARTA
===================================================================
--- trunk/tomcat5.5/connectors/ajp/proxy/JAKARTA	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/proxy/JAKARTA	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/proxy/mod_proxy.c
===================================================================
--- trunk/tomcat5.5/connectors/ajp/proxy/mod_proxy.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/proxy/mod_proxy.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/proxy/mod_proxy.h
===================================================================
--- trunk/tomcat5.5/connectors/ajp/proxy/mod_proxy.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/proxy/mod_proxy.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/proxy/proxy_ajp.c
===================================================================
--- trunk/tomcat5.5/connectors/ajp/proxy/proxy_ajp.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/proxy/proxy_ajp.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/proxy/proxy_balancer.c
===================================================================
--- trunk/tomcat5.5/connectors/ajp/proxy/proxy_balancer.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/proxy/proxy_balancer.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/proxy/proxy_connect.c
===================================================================
--- trunk/tomcat5.5/connectors/ajp/proxy/proxy_connect.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/proxy/proxy_connect.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/proxy/proxy_ftp.c
===================================================================
--- trunk/tomcat5.5/connectors/ajp/proxy/proxy_ftp.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/proxy/proxy_ftp.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/proxy/proxy_http.c
===================================================================
--- trunk/tomcat5.5/connectors/ajp/proxy/proxy_http.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/proxy/proxy_http.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/ajp/proxy/proxy_util.c
===================================================================
--- trunk/tomcat5.5/connectors/ajp/proxy/proxy_util.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/ajp/proxy/proxy_util.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/build.xml
===================================================================
--- trunk/tomcat5.5/connectors/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/build.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <project name="Jtc" default="dist" basedir=".">
 
 <!-- ========== Initialize Properties ===================================== -->

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Modified: trunk/tomcat5.5/connectors/jk/BUILD.txt
===================================================================
--- trunk/tomcat5.5/connectors/jk/BUILD.txt	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/BUILD.txt	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/HOWTO-RELEASE
===================================================================
--- trunk/tomcat5.5/connectors/jk/HOWTO-RELEASE	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/HOWTO-RELEASE	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/build.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/build.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/conf/workers.properties
===================================================================
--- trunk/tomcat5.5/connectors/jk/conf/workers.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/conf/workers.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/java/org/apache/ajp/Ajp13.java
===================================================================
--- trunk/tomcat5.5/connectors/jk/java/org/apache/ajp/Ajp13.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/java/org/apache/ajp/Ajp13.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Copied: trunk/tomcat5.5/connectors/jk/jkstatus/build/classes/org/apache/jk/status/AbstractJkStatusTask.class (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/AbstractJkStatusTask.class)
===================================================================
(Binary files differ)

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

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

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

Copied: trunk/tomcat5.5/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkResult.class (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkResult.class)
===================================================================
(Binary files differ)

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

Copied: trunk/tomcat5.5/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkSoftware.class (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkSoftware.class)
===================================================================
(Binary files differ)

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

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

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

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

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

Copied: trunk/tomcat5.5/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusUpdateLoadbalancerTask.class (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusUpdateLoadbalancerTask.class)
===================================================================
(Binary files differ)

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

Copied: trunk/tomcat5.5/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusUpdateWorkerTask.class (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/build/classes/org/apache/jk/status/JkStatusUpdateWorkerTask.class)
===================================================================
(Binary files differ)

Modified: trunk/tomcat5.5/connectors/jk/jkstatus/build/classes/org/apache/jk/status/antlib.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/build/classes/org/apache/jk/status/antlib.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/build/classes/org/apache/jk/status/antlib.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/build/classes/org/apache/jk/status/jkstatus.tasks
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/build/classes/org/apache/jk/status/jkstatus.tasks	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/build/classes/org/apache/jk/status/jkstatus.tasks	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/build.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/build.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/dist/tomcat-jkstatus-ant.jar
===================================================================
(Binary files differ)

Modified: trunk/tomcat5.5/connectors/jk/jkstatus/example/jkstatus.properties.default
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/example/jkstatus.properties.default	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/example/jkstatus.properties.default	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/example/jkstatus.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/example/jkstatus.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/example/jkstatus.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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>

Copied: trunk/tomcat5.5/connectors/jk/jkstatus/example/show.xml (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/example/show.xml)
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/example/show.xml	                        (rev 0)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/example/show.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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>           

Copied: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/AbstractJkStatusTask.java (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/AbstractJkStatusTask.java)
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/AbstractJkStatusTask.java	                        (rev 0)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/AbstractJkStatusTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancer.java
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMapping.java
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMapping.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMapping.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMember.java
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMember.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkBalancerMember.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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;
+    }
+
 }

Copied: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkResult.java (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkResult.java)
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkResult.java	                        (rev 0)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkResult.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkServer.java
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkServer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkServer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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;
-    }
+
+ 
 }

Copied: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkSoftware.java (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkSoftware.java)
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkSoftware.java	                        (rev 0)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkSoftware.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatus.java
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatus.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatus.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusAccessor.java
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusAccessor.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusAccessor.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusParser.java
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusParser.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusParser.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusResetTask.java
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusResetTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusResetTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusTask.java
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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);

Copied: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateLoadbalancerTask.java (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateLoadbalancerTask.java)
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateLoadbalancerTask.java	                        (rev 0)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateLoadbalancerTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateTask.java
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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>

Copied: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateWorkerTask.java (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateWorkerTask.java)
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateWorkerTask.java	                        (rev 0)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/JkStatusUpdateWorkerTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/antlib.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/antlib.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/antlib.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/jkstatus.tasks
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/jkstatus.tasks	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/jkstatus.tasks	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/package.html
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/package.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/src/share/org/apache/jk/status/package.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/test/build.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/test/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/test/build.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/test/conf/log4j.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/test/conf/log4j.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/test/conf/log4j.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/jkstatus/test/src/share/org/apache/jk/status/JkStatusParserTest.java
===================================================================
--- trunk/tomcat5.5/connectors/jk/jkstatus/test/src/share/org/apache/jk/status/JkStatusParserTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/jkstatus/test/src/share/org/apache/jk/status/JkStatusParserTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/BUILDING
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/BUILDING	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/BUILDING	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/CHANGES.txt
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/CHANGES.txt	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/CHANGES.txt	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/STATUS.txt
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/STATUS.txt	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/STATUS.txt	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/apache-1.3/Makefile.in
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/apache-1.3/Makefile.in	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/apache-1.3/Makefile.in	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/apache-1.3/mod_jk.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/apache-1.3/mod_jk.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/apache-1.3/mod_jk.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/apache-2.0/Makefile.in
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/apache-2.0/Makefile.in	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/apache-2.0/Makefile.in	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/apache-2.0/mod_jk.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/apache-2.0/mod_jk.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/apache-2.0/mod_jk.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_ajp12_worker.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_ajp12_worker.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_ajp12_worker.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_ajp12_worker.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_ajp12_worker.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_ajp12_worker.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_ajp13.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_ajp13.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_ajp13.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_ajp13.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_ajp13.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_ajp13.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_ajp13_worker.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_ajp13_worker.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_ajp13_worker.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_ajp13_worker.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_ajp13_worker.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_ajp13_worker.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_ajp14.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_ajp14.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_ajp14.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_ajp14.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_ajp14.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_ajp14.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_ajp14_worker.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_ajp14_worker.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_ajp14_worker.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_ajp14_worker.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_ajp14_worker.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_ajp14_worker.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_ajp_common.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_ajp_common.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_ajp_common.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_ajp_common.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_ajp_common.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_ajp_common.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_connect.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_connect.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_connect.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_connect.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_connect.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_connect.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_context.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_context.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_context.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_context.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_context.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_context.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_global.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_global.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_global.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_jni_worker.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_jni_worker.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_jni_worker.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_jni_worker.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_jni_worker.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_jni_worker.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_lb_worker.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_lb_worker.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_lb_worker.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_lb_worker.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_lb_worker.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_lb_worker.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_logger.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_logger.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_logger.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_map.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_map.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_map.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_map.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_map.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_map.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_md5.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_md5.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_md5.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_md5.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_md5.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_md5.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/connectors/jk/native/common/jk_msg_buff.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_msg_buff.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_msg_buff.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_msg_buff.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_msg_buff.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_msg_buff.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_mt.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_mt.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_mt.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_nwmain.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_nwmain.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_nwmain.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_pool.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_pool.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_pool.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_pool.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_pool.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_pool.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_service.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_service.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_service.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_shm.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_shm.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_shm.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/common/jk_shm.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_shm.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_shm.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/common/jk_sockbuf.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_sockbuf.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_sockbuf.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_sockbuf.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_sockbuf.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_sockbuf.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_status.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_status.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_status.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_status.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_status.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_status.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_types.h.in
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_types.h.in	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_types.h.in	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/common/jk_uri_worker_map.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_uri_worker_map.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_uri_worker_map.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_uri_worker_map.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_uri_worker_map.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_uri_worker_map.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_util.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_util.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_util.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_util.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_util.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_util.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_version.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_version.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_version.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/common/jk_worker.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_worker.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_worker.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_worker.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_worker.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_worker.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/jk_worker_list.h
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/jk_worker_list.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/jk_worker_list.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/common/portable.h.sample
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/common/portable.h.sample	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/common/portable.h.sample	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/configure.in
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/configure.in	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/configure.in	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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,

Copied: trunk/tomcat5.5/connectors/jk/native/iis/Makefile.amd64 (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.amd64)
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/iis/Makefile.amd64	                        (rev 0)
+++ trunk/tomcat5.5/connectors/jk/native/iis/Makefile.amd64	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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)
+

Copied: trunk/tomcat5.5/connectors/jk/native/iis/Makefile.ia64 (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/native/iis/Makefile.ia64)
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/iis/Makefile.ia64	                        (rev 0)
+++ trunk/tomcat5.5/connectors/jk/native/iis/Makefile.ia64	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/iis/Makefile.vc
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/iis/Makefile.vc	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/iis/Makefile.vc	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/iis/installer/iisfilter.vbs
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/iis/installer/iisfilter.vbs	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/iis/installer/iisfilter.vbs	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/iis/installer/isapi-redirector-win32-msi.ism
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/iis/installer/isapi-redirector-win32-msi.ism	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/iis/installer/isapi-redirector-win32-msi.ism	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/iis/isapi.dsp
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/iis/isapi.dsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/iis/isapi.dsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/iis/isapi_install.vbs
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/iis/isapi_install.vbs	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/iis/isapi_install.vbs	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/iis/isapi_redirect.rc
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/iis/isapi_redirect.rc	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/iis/isapi_redirect.rc	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/iis/jk_isapi_plugin.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/iis/jk_isapi_plugin.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/iis/jk_isapi_plugin.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/iis/pcre/dftables.dsp
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/iis/pcre/dftables.dsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/iis/pcre/dftables.dsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/iis/pcre/mkinstalldirs
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/iis/pcre/mkinstalldirs	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/iis/pcre/mkinstalldirs	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/jni/jk_jnicb.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/jni/jk_jnicb.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/jni/jk_jnicb.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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"

Copied: trunk/tomcat5.5/connectors/jk/native/netscape/Makefile.linux (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/native/netscape/Makefile.linux)
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/netscape/Makefile.linux	                        (rev 0)
+++ trunk/tomcat5.5/connectors/jk/native/netscape/Makefile.linux	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/netscape/Makefile.solaris
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/netscape/Makefile.solaris	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/netscape/Makefile.solaris	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/netscape/README
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/netscape/README	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/netscape/README	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/native/netscape/jk_nsapi_plugin.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/netscape/jk_nsapi_plugin.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/netscape/jk_nsapi_plugin.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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: trunk/tomcat5.5/connectors/jk/native/nt_service/jk_nt_service.c
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/nt_service/jk_nt_service.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/native/nt_service/jk_nt_service.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a 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 {

Copied: trunk/tomcat5.5/connectors/jk/native/scripts/build/instdso.sh (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/native/scripts/build/instdso.sh)
===================================================================
--- trunk/tomcat5.5/connectors/jk/native/scripts/build/instdso.sh	                        (rev 0)
+++ trunk/tomcat5.5/connectors/jk/native/scripts/build/instdso.sh	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/support/jk_apache_static.m4
===================================================================
--- trunk/tomcat5.5/connectors/jk/support/jk_apache_static.m4	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/support/jk_apache_static.m4	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/support/jk_apr.m4
===================================================================
--- trunk/tomcat5.5/connectors/jk/support/jk_apr.m4	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/support/jk_apr.m4	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/support/jk_apxs.m4
===================================================================
--- trunk/tomcat5.5/connectors/jk/support/jk_apxs.m4	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/support/jk_apxs.m4	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/support/jk_dominohome.m4
===================================================================
--- trunk/tomcat5.5/connectors/jk/support/jk_dominohome.m4	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/support/jk_dominohome.m4	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/support/jk_exec.m4
===================================================================
--- trunk/tomcat5.5/connectors/jk/support/jk_exec.m4	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/support/jk_exec.m4	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/support/jk_java.m4
===================================================================
--- trunk/tomcat5.5/connectors/jk/support/jk_java.m4	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/support/jk_java.m4	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/support/jk_pcre.m4
===================================================================
--- trunk/tomcat5.5/connectors/jk/support/jk_pcre.m4	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/support/jk_pcre.m4	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/support/jk_tchome.m4
===================================================================
--- trunk/tomcat5.5/connectors/jk/support/jk_tchome.m4	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/support/jk_tchome.m4	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/support/jk_ws.m4
===================================================================
--- trunk/tomcat5.5/connectors/jk/support/jk_ws.m4	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/support/jk_ws.m4	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/test/org/apache/ajp/test/TestAjp13.java
===================================================================
--- trunk/tomcat5.5/connectors/jk/test/org/apache/ajp/test/TestAjp13.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/test/org/apache/ajp/test/TestAjp13.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

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

Modified: trunk/tomcat5.5/connectors/jk/tools/jkrelease.sh
===================================================================
--- trunk/tomcat5.5/connectors/jk/tools/jkrelease.sh	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/tools/jkrelease.sh	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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

Copied: trunk/tomcat5.5/connectors/jk/tools/lineends.pl (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/tools/lineends.pl)
===================================================================
--- trunk/tomcat5.5/connectors/jk/tools/lineends.pl	                        (rev 0)
+++ trunk/tomcat5.5/connectors/jk/tools/lineends.pl	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/tools/reports/tomcat_reports.pl
===================================================================
--- trunk/tomcat5.5/connectors/jk/tools/reports/tomcat_reports.pl	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/tools/reports/tomcat_reports.pl	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/tools/reports/tomcat_trend.pl
===================================================================
--- trunk/tomcat5.5/connectors/jk/tools/reports/tomcat_trend.pl	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/tools/reports/tomcat_trend.pl	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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
 

Copied: trunk/tomcat5.5/connectors/jk/xdocs/ajp (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/xdocs/ajp)

Modified: trunk/tomcat5.5/connectors/jk/xdocs/build.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/build.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/changelog.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/changelog.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/changelog.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/empty.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/empty.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/empty.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/faq.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/faq.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/faq.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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>

Copied: trunk/tomcat5.5/connectors/jk/xdocs/generic_howto (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/xdocs/generic_howto)

Modified: trunk/tomcat5.5/connectors/jk/xdocs/index.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/index.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/index.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/jk2/confighowto.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/jk2/confighowto.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/jk2/confighowto.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/jk2/configtc.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/jk2/configtc.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/jk2/configtc.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/jk2/configtccom.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/jk2/configtccom.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/jk2/configtccom.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/jk2/configtcex.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/jk2/configtcex.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/jk2/configtcex.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/jk2/configweb.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/jk2/configweb.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/jk2/configweb.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/jk2/configwebcom.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/jk2/configwebcom.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/jk2/configwebcom.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/jk2/configwebex.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/jk2/configwebex.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/jk2/configwebex.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/jk2/installhowto.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/jk2/installhowto.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/jk2/installhowto.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/jk2/vhosthowto.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/jk2/vhosthowto.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/jk2/vhosthowto.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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

Copied: trunk/tomcat5.5/connectors/jk/xdocs/miscellaneous (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/xdocs/miscellaneous)

Modified: trunk/tomcat5.5/connectors/jk/xdocs/news/20041100.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/news/20041100.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/news/20041100.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/news/20050101.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/news/20050101.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/news/20050101.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/news/20060101.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/news/20060101.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/news/20060101.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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" />

Copied: trunk/tomcat5.5/connectors/jk/xdocs/news/20070301.xml (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/xdocs/news/20070301.xml)
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/news/20070301.xml	                        (rev 0)
+++ trunk/tomcat5.5/connectors/jk/xdocs/news/20070301.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/news/project.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/news/project.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/news/project.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/project.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/project.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/project.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jk/xdocs/proxy.xml
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/proxy.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/proxy.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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>

Copied: trunk/tomcat5.5/connectors/jk/xdocs/reference (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/xdocs/reference)

Modified: trunk/tomcat5.5/connectors/jk/xdocs/style.xsl
===================================================================
--- trunk/tomcat5.5/connectors/jk/xdocs/style.xsl	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jk/xdocs/style.xsl	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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>

Copied: trunk/tomcat5.5/connectors/jk/xdocs/webserver_howto (from rev 3531, branches/tomcat5.5/upstream/current/connectors/jk/xdocs/webserver_howto)

Modified: trunk/tomcat5.5/connectors/jni/examples/mkcerts
===================================================================
--- trunk/tomcat5.5/connectors/jni/examples/mkcerts	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/examples/mkcerts	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/examples/org/apache/tomcat/jni/Echo.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/examples/org/apache/tomcat/jni/Echo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/examples/org/apache/tomcat/jni/Echo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/examples/org/apache/tomcat/jni/LocalServer.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/examples/org/apache/tomcat/jni/LocalServer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/examples/org/apache/tomcat/jni/LocalServer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/examples/org/apache/tomcat/jni/SSLServer.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/examples/org/apache/tomcat/jni/SSLServer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/examples/org/apache/tomcat/jni/SSLServer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/Apr.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/Apr.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/Apr.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Address.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Address.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Address.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/BIOCallback.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/BIOCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/BIOCallback.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Directory.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Directory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Directory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Error.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Error.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Error.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/File.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/File.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/File.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/FileInfo.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/FileInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/FileInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Global.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Global.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Global.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Library.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Library.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Library.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Local.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Local.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Local.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Lock.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Lock.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Lock.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Mmap.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Mmap.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Mmap.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Multicast.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Multicast.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Multicast.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/OS.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/OS.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/OS.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/PasswordCallback.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/PasswordCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/PasswordCallback.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Poll.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Poll.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Poll.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Pool.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Pool.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Pool.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/PoolCallback.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/PoolCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/PoolCallback.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Proc.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Proc.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Proc.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/ProcErrorCallback.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/ProcErrorCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/ProcErrorCallback.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Procattr.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Procattr.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Procattr.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Registry.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Registry.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Registry.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/SSL.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/SSL.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/SSL.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/SSLContext.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/SSLContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/SSLContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/SSLSocket.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/SSLSocket.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/SSLSocket.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Shm.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Shm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Shm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Sockaddr.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Sockaddr.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Sockaddr.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Socket.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Socket.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Socket.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Status.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Status.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Status.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Stdlib.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Stdlib.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Stdlib.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Thread.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Thread.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Thread.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Time.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Time.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/Time.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/User.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/User.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/org/apache/tomcat/jni/User.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/java/overview.html
===================================================================
--- trunk/tomcat5.5/connectors/jni/java/overview.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/java/overview.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/jnirelease.sh
===================================================================
--- trunk/tomcat5.5/connectors/jni/jnirelease.sh	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/jnirelease.sh	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/build/buildcheck.sh
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/build/buildcheck.sh	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/build/buildcheck.sh	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/build/lineends.pl
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/build/lineends.pl	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/build/lineends.pl	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/buildconf
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/buildconf	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/buildconf	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/config.layout
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/config.layout	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/config.layout	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/configure.in
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/configure.in	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/configure.in	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/include/ssl_private.h
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/include/ssl_private.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/include/ssl_private.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/include/tcn.h
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/include/tcn.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/include/tcn.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/include/tcn_api.h
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/include/tcn_api.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/include/tcn_api.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/include/tcn_version.h
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/include/tcn_version.h	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/include/tcn_version.h	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/os/netware/system.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/os/netware/system.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/os/netware/system.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/os/unix/system.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/os/unix/system.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/os/unix/system.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/os/unix/uxpipe.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/os/unix/uxpipe.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/os/unix/uxpipe.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/os/win32/libtcnative.rc
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/os/win32/libtcnative.rc	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/os/win32/libtcnative.rc	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/os/win32/ntpipe.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/os/win32/ntpipe.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/os/win32/ntpipe.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/os/win32/registry.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/os/win32/registry.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/os/win32/registry.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/os/win32/system.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/os/win32/system.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/os/win32/system.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/address.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/address.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/address.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/dir.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/dir.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/dir.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/error.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/error.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/error.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/file.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/file.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/file.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/info.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/info.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/info.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/jnilib.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/jnilib.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/jnilib.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/lock.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/lock.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/lock.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/misc.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/misc.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/misc.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/mmap.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/mmap.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/mmap.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/multicast.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/multicast.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/multicast.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/network.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/network.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/network.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/os.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/os.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/os.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/poll.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/poll.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/poll.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/pool.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/pool.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/pool.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/proc.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/proc.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/proc.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/shm.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/shm.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/shm.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/ssl.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/ssl.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/ssl.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/sslcontext.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/sslcontext.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/sslcontext.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/sslinfo.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/sslinfo.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/sslinfo.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/sslnetwork.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/sslnetwork.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/sslnetwork.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/sslutils.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/sslutils.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/sslutils.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/stdlib.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/stdlib.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/stdlib.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/thread.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/thread.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/thread.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/native/src/user.c
===================================================================
--- trunk/tomcat5.5/connectors/jni/native/src/user.c	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/native/src/user.c	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/jni/test/org/apache/tomcat/jni/FileTestSuite.java
===================================================================
--- trunk/tomcat5.5/connectors/jni/test/org/apache/tomcat/jni/FileTestSuite.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/jni/test/org/apache/tomcat/jni/FileTestSuite.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/juli/src/java/org/apache/juli/ClassLoaderLogManager.java
===================================================================
--- trunk/tomcat5.5/connectors/juli/src/java/org/apache/juli/ClassLoaderLogManager.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/juli/src/java/org/apache/juli/ClassLoaderLogManager.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/connectors/juli/src/java/org/apache/juli/FileHandler.java
===================================================================
--- trunk/tomcat5.5/connectors/juli/src/java/org/apache/juli/FileHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/juli/src/java/org/apache/juli/FileHandler.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/connectors/procrun/bin/tomcat5.exe
===================================================================
(Binary files differ)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Modified: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/AbstractObjectCreationFactory.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/AbstractObjectCreationFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/AbstractObjectCreationFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/AbstractRulesImpl.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/AbstractRulesImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/AbstractRulesImpl.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ArrayStack.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ArrayStack.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ArrayStack.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/CallMethodRule.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/CallMethodRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/CallMethodRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/CallParamRule.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/CallParamRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/CallParamRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/Digester.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/Digester.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/Digester.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/FactoryCreateRule.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/FactoryCreateRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/FactoryCreateRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/GenericParser.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/GenericParser.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/GenericParser.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/NodeCreateRule.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/NodeCreateRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/NodeCreateRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreateRule.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreateRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreateRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreationFactory.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreationFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ObjectCreationFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ObjectParamRule.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ObjectParamRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ObjectParamRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ParserFeatureSetterFactory.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ParserFeatureSetterFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/ParserFeatureSetterFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/PathCallParamRule.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/PathCallParamRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/PathCallParamRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/Rule.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/Rule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/Rule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/RuleSet.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/RuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/RuleSet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/RuleSetBase.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/RuleSetBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/RuleSetBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/Rules.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/Rules.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/Rules.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/RulesBase.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/RulesBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/RulesBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetNextRule.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetNextRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetNextRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetPropertiesRule.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetPropertiesRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetPropertiesRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetPropertyRule.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetPropertyRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetPropertyRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetRootRule.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetRootRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetRootRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetTopRule.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetTopRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/SetTopRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/WithDefaultsRulesWrapper.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/WithDefaultsRulesWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/WithDefaultsRulesWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/XercesParser.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/XercesParser.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/digester/XercesParser.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/http/AcceptLanguage.java
===================================================================
--- trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/http/AcceptLanguage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/connectors/util/java/org/apache/tomcat/util/http/AcceptLanguage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Modified: trunk/tomcat5.5/container/build.xml
===================================================================
--- trunk/tomcat5.5/container/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/build.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <project name="Catalina 2.0" default="deploy" basedir=".">
 
 

Modified: trunk/tomcat5.5/container/catalina/build.xml
===================================================================
--- trunk/tomcat5.5/container/catalina/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/build.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <project name="Catalina" default="deploy" basedir=".">
 
 

Modified: trunk/tomcat5.5/container/catalina/src/bin/catalina-tasks.xml
===================================================================
--- trunk/tomcat5.5/container/catalina/src/bin/catalina-tasks.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/bin/catalina-tasks.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/bin/catalina.bat
===================================================================
--- trunk/tomcat5.5/container/catalina/src/bin/catalina.bat	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/bin/catalina.bat	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/bin/catalina.sh
===================================================================
--- trunk/tomcat5.5/container/catalina/src/bin/catalina.sh	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/bin/catalina.sh	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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.
@@ -178,8 +190,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
@@ -286,7 +301,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: trunk/tomcat5.5/container/catalina/src/conf/server.xml
===================================================================
--- trunk/tomcat5.5/container/catalina/src/conf/server.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/conf/server.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/conf/web.xml
===================================================================
--- trunk/tomcat5.5/container/catalina/src/conf/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/conf/web.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Authenticator.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Authenticator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Authenticator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Cluster.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Cluster.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Cluster.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Contained.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Contained.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Contained.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Container.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Container.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Container.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ContainerEvent.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ContainerEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ContainerEvent.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ContainerListener.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ContainerListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ContainerListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ContainerServlet.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ContainerServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ContainerServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Context.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Context.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Context.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Engine.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Engine.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Engine.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Globals.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Globals.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Globals.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Group.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Group.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Group.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Host.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Host.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Host.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/InstanceEvent.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/InstanceEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/InstanceEvent.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/InstanceListener.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/InstanceListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/InstanceListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Lifecycle.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Lifecycle.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Lifecycle.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/LifecycleEvent.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/LifecycleEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/LifecycleEvent.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/LifecycleException.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/LifecycleException.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/LifecycleException.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/LifecycleListener.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/LifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/LifecycleListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Loader.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Loader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Loader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Manager.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Manager.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Manager.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Pipeline.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Pipeline.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Pipeline.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Realm.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Realm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Realm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Role.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Role.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Role.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Server.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Server.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Server.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ServerFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ServerFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ServerFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Service.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Service.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Service.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Session.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Session.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Session.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/SessionEvent.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/SessionEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/SessionEvent.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/SessionListener.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/SessionListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/SessionListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Store.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Store.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Store.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/User.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/User.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/User.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/UserDatabase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/UserDatabase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/UserDatabase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Valve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Valve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Valve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Wrapper.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Wrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/Wrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/AbstractCatalinaTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/AbstractCatalinaTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/AbstractCatalinaTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/BaseRedirectorHelperTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/BaseRedirectorHelperTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/BaseRedirectorHelperTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/DeployTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/DeployTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/DeployTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/InstallTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/InstallTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/InstallTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/JKStatusUpdateTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/JKStatusUpdateTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/JKStatusUpdateTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/JMXGetTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/JMXGetTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/JMXGetTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/JMXQueryTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/JMXQueryTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/JMXQueryTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/JMXSetTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/JMXSetTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/JMXSetTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ListTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ListTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ListTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ReloadTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ReloadTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ReloadTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/RemoveTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/RemoveTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/RemoveTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ResourcesTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ResourcesTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ResourcesTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/RolesTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/RolesTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/RolesTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ServerinfoTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ServerinfoTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ServerinfoTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/SessionsTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/SessionsTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/SessionsTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/StartTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/StartTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/StartTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/StopTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/StopTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/StopTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/UndeployTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/UndeployTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/UndeployTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ValidatorTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ValidatorTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/ValidatorTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/Arg.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/Arg.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/Arg.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCondition.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCondition.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCondition.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorEqualsCondition.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorEqualsCondition.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorEqualsCondition.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorGetTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorGetTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorGetTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorInvokeTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorInvokeTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorInvokeTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorQueryTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorQueryTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorQueryTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorSetTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorSetTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorSetTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorUnregisterTask.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorUnregisterTask.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorUnregisterTask.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/BasicAuthenticator.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/BasicAuthenticator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/BasicAuthenticator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/Constants.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/DigestAuthenticator.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/DigestAuthenticator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/DigestAuthenticator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/NonLoginAuthenticator.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/NonLoginAuthenticator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/NonLoginAuthenticator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/SSLAuthenticator.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/SSLAuthenticator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/SSLAuthenticator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/SavedRequest.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/SavedRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/SavedRequest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOn.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOn.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOn.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOnEntry.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOnEntry.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/authenticator/SingleSignOnEntry.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/ClientAbortException.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/ClientAbortException.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/ClientAbortException.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/Connector.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/Connector.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/Connector.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/Constants.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

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

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

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

Modified: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/OutputBuffer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/Request.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/Request.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/Request.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/RequestFacade.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/RequestFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/RequestFacade.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/Response.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/Response.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/Response.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/mbeans-descriptors.xml
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/mbeans-descriptors.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/connector/mbeans-descriptors.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationContext.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationContextFacade.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationDispatcher.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterChain.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterChain.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterChain.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationFilterFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpRequest.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpRequest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpResponse.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationHttpResponse.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationRequest.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationRequest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationResponse.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ApplicationResponse.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/AprLifecycleListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/Constants.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ContainerBase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ContainerBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/ContainerBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/DummyRequest.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/DummyRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/DummyRequest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/DummyResponse.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/DummyResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/DummyResponse.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/LocalStrings.properties
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/LocalStrings.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/LocalStrings_es.properties
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/LocalStrings_es.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/LocalStrings_es.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/LocalStrings_fr.properties
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/LocalStrings_fr.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/LocalStrings_fr.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/LocalStrings_ja.properties
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/LocalStrings_ja.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/LocalStrings_ja.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/NamingContextListener.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/NamingContextListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/NamingContextListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardContext.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardContextValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardContextValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardContextValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardEngine.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardEngine.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardEngine.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardEngineValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardEngineValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardEngineValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardHost.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardHost.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardHost.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardHostValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardHostValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardHostValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardPipeline.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardPipeline.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardPipeline.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardServer.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardServer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardServer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardService.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardService.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardService.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardWrapper.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardWrapperFacade.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardWrapperFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardWrapperFacade.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ApplicationParameter.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ApplicationParameter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ApplicationParameter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextEjb.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextEjb.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextEjb.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextEnvironment.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextEnvironment.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextEnvironment.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextLocalEjb.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextLocalEjb.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextLocalEjb.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextResource.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextResource.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextResource.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceEnvRef.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceEnvRef.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceEnvRef.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceLink.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceLink.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextResourceLink.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextTransaction.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextTransaction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ContextTransaction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ErrorPage.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ErrorPage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ErrorPage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/FilterDef.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/FilterDef.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/FilterDef.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/FilterMap.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/FilterMap.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/FilterMap.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/LoginConfig.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/LoginConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/LoginConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/MessageDestination.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/MessageDestination.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/MessageDestination.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/MessageDestinationRef.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/MessageDestinationRef.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/MessageDestinationRef.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/NamingResources.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/NamingResources.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/NamingResources.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ResourceBase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ResourceBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/ResourceBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/SecurityCollection.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/SecurityCollection.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/SecurityCollection.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/SecurityConstraint.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/SecurityConstraint.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/deploy/SecurityConstraint.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/launcher/CatalinaLaunchFilter.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/launcher/CatalinaLaunchFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/launcher/CatalinaLaunchFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

Modified: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/Reloader.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/Reloader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/Reloader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/ResourceEntry.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/ResourceEntry.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/ResourceEntry.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoaderMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoaderMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/StandardClassLoaderMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/WebappLoader.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/WebappLoader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/loader/WebappLoader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ClassNameMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ClassNameMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ClassNameMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ConnectorMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ConnectorMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ConnectorMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ContextEnvironmentMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ContextEnvironmentMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ContextEnvironmentMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceLinkMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceLinkMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceLinkMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ContextResourceMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/DefaultContextMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/DefaultContextMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/DefaultContextMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/GroupMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/GroupMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/GroupMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/NamingResourcesMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/NamingResourcesMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/NamingResourcesMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/RoleMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/RoleMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/RoleMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/ServerLifecycleListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardContextMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardContextMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardContextMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardEngineMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardEngineMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardEngineMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardHostMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardHostMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardHostMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardServerMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardServiceMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardServiceMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/StandardServiceMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/UserMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/UserMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/UserMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/Constants.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/DataSourceRealm.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/DataSourceRealm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/DataSourceRealm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/GenericPrincipal.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/GenericPrincipal.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/GenericPrincipal.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JAASCallbackHandler.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JAASCallbackHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JAASCallbackHandler.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JAASMemoryLoginModule.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JAASMemoryLoginModule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JAASMemoryLoginModule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JAASRealm.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JAASRealm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JAASRealm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JDBCRealm.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JDBCRealm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JDBCRealm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JNDIRealm.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JNDIRealm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/JNDIRealm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/MemoryRealm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/MemoryRuleSet.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/MemoryRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/MemoryRuleSet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/RealmBase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/RealmBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/RealmBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/realm/UserDatabaseRealm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/security/SecurityClassLoad.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/security/SecurityClassLoad.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/security/SecurityClassLoad.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/security/SecurityConfig.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/security/SecurityConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/security/SecurityConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

Modified: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/FileStore.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/FileStore.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/FileStore.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/JDBCStore.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/JDBCStore.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/JDBCStore.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/ManagerBase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/ManagerBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/ManagerBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/PersistentManager.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/PersistentManager.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/PersistentManager.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/PersistentManagerBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/StandardManager.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/StandardManager.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/StandardManager.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/StandardSession.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/StandardSession.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/StandardSession.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/StandardSessionFacade.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/StandardSessionFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/StandardSessionFacade.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/StoreBase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/StoreBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/session/StoreBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/ByteArrayServletOutputStream.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/ByteArrayServletOutputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/ByteArrayServletOutputStream.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/ResponseIncludeWrapper.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/ResponseIncludeWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/ResponseIncludeWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSICommand.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSICommand.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSICommand.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIConfig.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIEcho.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIEcho.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIEcho.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIExec.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIExec.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIExec.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIExternalResolver.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIExternalResolver.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIExternalResolver.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIFilter.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIFlastmod.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIFlastmod.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIFlastmod.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIFsize.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIFsize.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIFsize.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIInclude.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIInclude.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIInclude.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIMediator.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIMediator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIMediator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIPrintenv.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIPrintenv.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIPrintenv.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIProcessor.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIProcessor.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIProcessor.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIServletExternalResolver.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIServletExternalResolver.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIServletExternalResolver.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSISet.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSISet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSISet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIStopProcessingException.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIStopProcessingException.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/ssi/SSIStopProcessingException.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Authenticators.properties
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Authenticators.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Authenticators.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Bootstrap.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Bootstrap.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Bootstrap.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Catalina.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Catalina.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Catalina.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/CatalinaProperties.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/CatalinaProperties.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/CatalinaProperties.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ClassLoaderFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ClassLoaderFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ClassLoaderFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ClusterRuleSetFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ClusterRuleSetFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ClusterRuleSetFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ConnectorCreateRule.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ConnectorCreateRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ConnectorCreateRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Constants.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ContextConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ContextConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ContextRuleSet.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ContextRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ContextRuleSet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/CopyParentClassLoaderRule.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/CopyParentClassLoaderRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/CopyParentClassLoaderRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/DigesterFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/DigesterFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/DigesterFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999-2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Embedded.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Embedded.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Embedded.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/EngineConfig.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/EngineConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/EngineConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/EngineRuleSet.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/EngineRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/EngineRuleSet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ExpandWar.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ExpandWar.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/ExpandWar.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/HomesUserDatabase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/HomesUserDatabase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/HomesUserDatabase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/HostConfig.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/HostConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/HostConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/HostRuleSet.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/HostRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/HostRuleSet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LifecycleListenerRule.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LifecycleListenerRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LifecycleListenerRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LocalStrings.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_es.properties
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_es.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_es.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_fr.properties
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_fr.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_fr.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_ja.properties
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_ja.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/LocalStrings_ja.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/NamingRuleSet.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/NamingRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/NamingRuleSet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/PasswdUserDatabase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/PasswdUserDatabase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/PasswdUserDatabase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/SetAllPropertiesRule.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/SetAllPropertiesRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/SetAllPropertiesRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/SetContextPropertiesRule.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/SetContextPropertiesRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/SetContextPropertiesRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/SetNextNamingRule.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/SetNextNamingRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/SetNextNamingRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/TldConfig.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/TldConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/TldConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/TldRuleSet.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/TldRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/TldRuleSet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Tool.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Tool.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/Tool.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/UserConfig.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/UserConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/UserConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/UserDatabase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/UserDatabase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/UserDatabase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/WebRuleSet.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/WebRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/WebRuleSet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/mbeans-descriptors.xml
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/mbeans-descriptors.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/startup/mbeans-descriptors.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/AbstractGroup.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/AbstractGroup.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/AbstractGroup.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/AbstractRole.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/AbstractRole.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/AbstractRole.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/AbstractUser.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/AbstractUser.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/AbstractUser.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/Constants.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryGroup.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryGroup.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryGroup.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryRole.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryRole.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryRole.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryUser.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryUser.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryUser.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabaseFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabaseFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/users/MemoryUserDatabaseFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/Base64.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/Base64.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/Base64.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/CGIProcessEnvironment.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/CGIProcessEnvironment.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/CGIProcessEnvironment.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/CharsetMapper.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/CharsetMapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/CharsetMapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/CookieTools.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/CookieTools.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/CookieTools.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

Modified: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/Enumerator.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/Enumerator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/Enumerator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/Extension.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/Extension.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/Extension.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ExtensionValidator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/FastDateFormat.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/FastDateFormat.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/FastDateFormat.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

Modified: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/InstanceSupport.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/InstanceSupport.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/InstanceSupport.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/LifecycleSupport.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/LifecycleSupport.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/LifecycleSupport.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/MD5Encoder.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/MD5Encoder.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/MD5Encoder.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/MIME2Java.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/MIME2Java.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/MIME2Java.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ManifestResource.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ManifestResource.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ManifestResource.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ParameterMap.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ParameterMap.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ParameterMap.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ProcessEnvironment.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ProcessEnvironment.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ProcessEnvironment.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ProcessHelper.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ProcessHelper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/ProcessHelper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/Queue.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/Queue.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/util/Queue.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

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

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

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

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

Modified: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/ErrorReportValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/ErrorReportValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/ErrorReportValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/ExtendedAccessLogValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/FastCommonAccessLogValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/FastCommonAccessLogValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/FastCommonAccessLogValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/JDBCAccessLogValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/LocalStrings.properties
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/LocalStrings.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_es.properties
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_es.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_es.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_fr.properties
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_fr.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_fr.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_ja.properties
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_ja.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/LocalStrings_ja.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/PersistentValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/PersistentValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/PersistentValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/RemoteAddrValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/RemoteAddrValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/RemoteAddrValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/RemoteHostValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/RemoteHostValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/RemoteHostValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/RequestDumperValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/RequestDumperValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/RequestDumperValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/RequestFilterValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/RequestFilterValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/RequestFilterValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/SemaphoreValve.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/SemaphoreValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/SemaphoreValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/ValveBase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/ValveBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/catalina/valves/ValveBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/Constants.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ContextAccessController.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ContextAccessController.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ContextAccessController.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ContextBindings.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ContextBindings.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ContextBindings.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/EjbRef.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/EjbRef.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/EjbRef.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/JndiPermission.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/JndiPermission.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/JndiPermission.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NameParserImpl.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NameParserImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NameParserImpl.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingContext.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingContextBindingsEnumeration.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingContextBindingsEnumeration.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingContextBindingsEnumeration.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingContextEnumeration.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingContextEnumeration.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingContextEnumeration.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingEntry.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingEntry.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingEntry.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingService.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingService.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingService.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingServiceMBean.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingServiceMBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/NamingServiceMBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ResourceEnvRef.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ResourceEnvRef.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ResourceEnvRef.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ResourceLinkRef.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ResourceLinkRef.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ResourceLinkRef.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ResourceRef.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ResourceRef.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/ResourceRef.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/SelectorContext.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/SelectorContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/SelectorContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/StringManager.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/StringManager.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/StringManager.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

Modified: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/EjbFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/EjbFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/EjbFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/MailSessionFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/MailSessionFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/MailSessionFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/OpenEjbFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/OpenEjbFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/OpenEjbFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/ResourceEnvFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/ResourceEnvFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/ResourceEnvFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/ResourceFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/ResourceFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/ResourceFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/ResourceLinkFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/ResourceLinkFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/ResourceLinkFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/SendMailFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/SendMailFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/SendMailFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/TransactionFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/TransactionFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/factory/TransactionFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/java/javaURLContextFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/java/javaURLContextFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/java/javaURLContextFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/BaseDirContext.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/BaseDirContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/BaseDirContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/CacheEntry.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/CacheEntry.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/CacheEntry.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/Constants.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/DirContextURLConnection.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandler.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandler.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandlerFactory.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandlerFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/DirContextURLStreamHandlerFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/FileDirContext.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/FileDirContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/FileDirContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/ImmutableNameNotFoundException.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/ImmutableNameNotFoundException.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/ImmutableNameNotFoundException.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/ProxyDirContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/RecyclableNamingEnumeration.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/RecyclableNamingEnumeration.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/RecyclableNamingEnumeration.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/Resource.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/Resource.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/Resource.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/ResourceAttributes.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/ResourceAttributes.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/ResourceAttributes.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/ResourceCache.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/ResourceCache.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/ResourceCache.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/WARDirContext.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/WARDirContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/WARDirContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/jndi/Handler.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/jndi/Handler.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/share/org/apache/naming/resources/jndi/Handler.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/test/org/apache/catalina/util/CookieToolsTestCase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/test/org/apache/catalina/util/CookieToolsTestCase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/test/org/apache/catalina/util/CookieToolsTestCase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/test/org/apache/catalina/util/URLTestCase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/test/org/apache/catalina/util/URLTestCase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/test/org/apache/catalina/util/URLTestCase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/test/org/apache/naming/resources/BaseDirContextTestCase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/test/org/apache/naming/resources/BaseDirContextTestCase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/test/org/apache/naming/resources/BaseDirContextTestCase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/test/org/apache/naming/resources/FileDirContextTestCase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/test/org/apache/naming/resources/FileDirContextTestCase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/test/org/apache/naming/resources/FileDirContextTestCase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/catalina/src/test/org/apache/naming/resources/WARDirContextTestCase.java
===================================================================
--- trunk/tomcat5.5/container/catalina/src/test/org/apache/naming/resources/WARDirContextTestCase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/catalina/src/test/org/apache/naming/resources/WARDirContextTestCase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/build.xml
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/build.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/CatalinaCluster.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/CatalinaCluster.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/CatalinaCluster.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterDeployer.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterDeployer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterDeployer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterManager.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterManager.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterManager.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterMessage.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterMessage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterReceiver.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterReceiver.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterReceiver.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterRuleSet.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterRuleSet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSession.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSession.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterSession.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterValve.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/ClusterValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/Constants.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/Member.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/Member.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/Member.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipService.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipService.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/MembershipService.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/MessageListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/MessageListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/MessageListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Copied: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator (from rev 3531, branches/tomcat5.5/upstream/current/container/modules/cluster/src/share/org/apache/catalina/cluster/authenticator)

Modified: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FarmWarDeployer.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FarmWarDeployer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FarmWarDeployer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileChangeListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileChangeListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/deploy/FileChangeListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

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

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

Modified: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ListenCallback.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ListenCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ListenCallback.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ObjectReader.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ObjectReader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/io/ObjectReader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/io/SocketObjectReader.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/io/SocketObjectReader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/io/SocketObjectReader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/Constants.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMember.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMember.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMember.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMembership.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMembership.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastMembership.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastService.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastService.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastService.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterSessionListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterSessionListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ClusterSessionListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/Constants.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

Modified: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSessionFacade.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSessionFacade.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSessionFacade.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteBinderValve.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteBinderValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteBinderValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderLifecycleListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderLifecycleListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicatedSession.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicatedSession.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicatedSession.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicationStream.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicationStream.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/ReplicationStream.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SerializablePrincipal.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SerializablePrincipal.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SerializablePrincipal.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionIDMessage.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionIDMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionIDMessage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionMessage.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/session/SessionMessage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

Modified: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/AsyncSocketSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/AsyncSocketSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/AsyncSocketSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterData.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterData.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterData.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/Constants.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/FastAsyncSocketSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/FastAsyncSocketSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/FastAsyncSocketSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSenderFactory.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSenderFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/IDataSenderFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/LocalStrings.properties
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/LocalStrings.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/PooledSocketSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/PooledSocketSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/PooledSocketSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationValve.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SendMessageData.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SendMessageData.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SendMessageData.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SenderState.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SenderState.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SenderState.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationThread.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationThread.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationThread.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/TcpReplicationThread.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/TcpReplicationThread.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/TcpReplicationThread.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ThreadPool.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ThreadPool.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ThreadPool.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/WorkerThread.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/WorkerThread.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/WorkerThread.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/FastQueue.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/FastQueue.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/FastQueue.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IDynamicProperty.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IDynamicProperty.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IDynamicProperty.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IQueue.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IQueue.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/IQueue.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/LinkObject.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/LinkObject.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/LinkObject.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/SingleRemoveSynchronizedAddLock.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/SingleRemoveSynchronizedAddLock.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/src/share/org/apache/catalina/cluster/util/SingleRemoveSynchronizedAddLock.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

Modified: trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/io/XByteBufferTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/io/XByteBufferTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/io/XByteBufferTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaManagerTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaManagerTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaManagerTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaSessionTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaSessionTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/session/DeltaSessionTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/DataSenderTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/DataSenderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/DataSenderTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitterTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitterTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitterTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationValveTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationValveTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/ReplicationValveTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/SimpleTcpClusterTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/SimpleTcpClusterTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/SimpleTcpClusterTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/doc/tomcat-docs.xsl
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/doc/tomcat-docs.xsl	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/doc/tomcat-docs.xsl	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ByteMessage.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ByteMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ByteMessage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/Channel.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/Channel.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/Channel.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelException.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelException.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelException.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelInterceptor.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelInterceptor.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelInterceptor.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelMessage.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelMessage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelReceiver.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelReceiver.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelReceiver.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ChannelSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/Constants.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ErrorHandler.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ErrorHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ErrorHandler.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/Heartbeat.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/Heartbeat.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/Heartbeat.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ManagedChannel.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ManagedChannel.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/ManagedChannel.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/Member.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/Member.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/Member.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipService.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipService.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/MembershipService.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/MessageListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/MessageListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/MessageListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/UniqueId.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/UniqueId.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/UniqueId.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelCoordinator.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelCoordinator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelCoordinator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelInterceptorBase.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelInterceptorBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelInterceptorBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/GroupChannel.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/GroupChannel.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/GroupChannel.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/InterceptorPayload.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/InterceptorPayload.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/InterceptorPayload.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/Response.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/Response.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/Response.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcCallback.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcCallback.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcChannel.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcChannel.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcChannel.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcMessage.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/RpcMessage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

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

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

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

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

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

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

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

Modified: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TwoPhaseCommitInterceptor.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool14Impl.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool14Impl.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool14Impl.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool15Impl.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool15Impl.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/BufferPool15Impl.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ChannelData.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ChannelData.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ChannelData.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/DirectByteArrayOutputStream.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/DirectByteArrayOutputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/DirectByteArrayOutputStream.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ListenCallback.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ListenCallback.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ListenCallback.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ReplicationStream.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ReplicationStream.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/ReplicationStream.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/XByteBuffer.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/XByteBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/io/XByteBuffer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Constants.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastService.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastService.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastService.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastServiceImpl.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastServiceImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastServiceImpl.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/MemberImpl.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/MemberImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/MemberImpl.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMap.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMap.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMap.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMapEntry.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMapEntry.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/ReplicatedMapEntry.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/Streamable.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/Streamable.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/Streamable.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/Constants.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/DataSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/DataSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/DataSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/MultiPointSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/MultiPointSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/MultiPointSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/PooledSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/PooledSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/PooledSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ReplicationTransmitter.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ReplicationTransmitter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ReplicationTransmitter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/SenderState.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/SenderState.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/SenderState.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

Modified: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/WorkerThread.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/WorkerThread.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/WorkerThread.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioReplicationThread.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioReplicationThread.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioReplicationThread.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/FastQueue.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/FastQueue.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/FastQueue.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/LinkObject.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/LinkObject.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/LinkObject.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/SingleRemoveSynchronizedAddLock.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/SingleRemoveSynchronizedAddLock.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/util/SingleRemoveSynchronizedAddLock.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReplicationThread.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReplicationThread.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReplicationThread.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

Modified: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Arrays.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Arrays.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Arrays.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Logs.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Logs.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/Logs.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/StringManager.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/StringManager.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/StringManager.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/UUIDGenerator.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/UUIDGenerator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/src/share/org/apache/catalina/tribes/util/UUIDGenerator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/ChannelCreator.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/ChannelCreator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/ChannelCreator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/IntrospectionUtils.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/IntrospectionUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/IntrospectionUtils.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- *  Copyright 1999-2004 The Apache Software Foundation
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
  *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/LoadTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/LoadTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/test/java/org/apache/catalina/tribes/demos/LoadTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/channel/ChannelStartStop.java
===================================================================
--- trunk/tomcat5.5/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/channel/ChannelStartStop.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/groupcom/test/java/org/apache/catalina/tribes/test/channel/ChannelStartStop.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

Modified: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/CatalinaCluster.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/CatalinaCluster.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/CatalinaCluster.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterDeployer.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterDeployer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterDeployer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterManager.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterManager.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterManager.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterMessage.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterMessage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterRuleSet.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterRuleSet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterRuleSet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterSession.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterSession.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterSession.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterValve.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/ClusterValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/Constants.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/context/ReplicatedContext.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/context/ReplicatedContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/context/ReplicatedContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FarmWarDeployer.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FarmWarDeployer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FarmWarDeployer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileChangeListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileChangeListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/deploy/FileChangeListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

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

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

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

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

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

Modified: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaSession.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaSession.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaSession.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteBinderValve.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteBinderValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteBinderValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderLifecycleListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderLifecycleListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/JvmRouteSessionIDBinderListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/ReplicatedSession.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/ReplicatedSession.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/ReplicatedSession.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/SerializablePrincipal.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/SerializablePrincipal.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/SerializablePrincipal.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionIDMessage.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionIDMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionIDMessage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionMessage.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/session/SessionMessage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

Modified: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/tcp/Constants.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/tcp/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/tcp/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/tcp/ReplicationValve.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/tcp/ReplicationValve.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/tcp/ReplicationValve.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SendMessageData.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SendMessageData.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SendMessageData.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SimpleTcpCluster.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/tcp/SimpleTcpCluster.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/util/IDynamicProperty.java
===================================================================
--- trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/util/IDynamicProperty.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/ha/src/share/org/apache/catalina/ha/util/IDynamicProperty.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/Constants.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreConfig.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreFactory.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/IStoreFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/LoaderSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/LoaderSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/LoaderSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ManagerSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ManagerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/ManagerSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardContextSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardContextSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardContextSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardHostSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardHostSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardHostSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServerSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServerSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreAppender.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreAppender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfig.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreDescription.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreDescription.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreDescription.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFileMover.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFileMover.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreFileMover.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreLoader.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreLoader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreLoader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreRegistry.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreRegistry.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/StoreRegistry.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/CatalinaClusterSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/Constants.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IDynamicPropertyStoreAppender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreConfig.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreFactory.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/IStoreFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/InstanceListenerSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/LoaderSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/LoaderSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/LoaderSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ManagerSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ManagerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/ManagerSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/NamingResourcesSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/PersistentManagerSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardContextSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardContextSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardContextSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardEngineSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardHostSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardHostSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardHostSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServerSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServerSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StandardServiceSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreAppender.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreAppender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfig.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreContextAppender.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreDescription.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreDescription.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreDescription.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFactoryRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFileMover.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFileMover.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreFileMover.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreLoader.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreLoader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreLoader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreRegistry.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreRegistry.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/StoreRegistry.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WatchedResourceSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperLifecycleSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/src/share/org/apache/catalina/storeconfig/WrapperListenerSF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ConnectorStoreAppenderTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/DescriptorHelper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/GlobalNamingResourcesSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/InfoLifecycleListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LF.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LF.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LF.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/LoaderSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ManagerSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/ServerChildsTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardContextSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardEngineSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardHostSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StandardServiceSFTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreAppenderTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreLoaderTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java
===================================================================
--- trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/modules/storeconfig-ha/test/src/share/org/apache/catalina/storeconfig/StoreRegistryTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Aggregate01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Aggregate01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Aggregate01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Aggregate02.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Aggregate02.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Aggregate02.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication02.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication02.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication02.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication03.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication03.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication03.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication05.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication05.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication05.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication06.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication06.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Authentication06.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/CharArrayResponse.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/CharArrayResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/CharArrayResponse.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/CharArrayWriterUpperCase.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/CharArrayWriterUpperCase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/CharArrayWriterUpperCase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Context00.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Context00.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Context00.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Context01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Context01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Context01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Context02.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Context02.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Context02.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ContextBean.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ContextBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ContextBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ContextListener01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ContextListener01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ContextListener01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ContextListener02.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ContextListener02.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ContextListener02.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/DatePropertyEditor.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/DatePropertyEditor.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/DatePropertyEditor.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Decoding01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Decoding01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Decoding01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage02.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage02.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage02.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage03.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage03.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage03.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage04.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage04.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage04.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage05.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage05.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage05.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage06.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage06.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage06.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage07.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage07.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ErrorPage07.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterRequest01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterRequest01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterRequest01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterRequest02.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterRequest02.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterRequest02.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterRequest02a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterRequest02a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterRequest02a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterResponse01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterResponse01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterResponse01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterResponse04.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterResponse04.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterResponse04.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterResponse04a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterResponse04a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/FilterResponse04a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward00.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward00.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward00.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward00a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward00a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward00a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward00d.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward00d.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward00d.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward03.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward03.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward03.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward03a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward03a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward03a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward04.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward04.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward04.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward04a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward04a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward04a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward04b.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward04b.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward04b.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward05.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward05.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward05.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward05a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward05a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward05a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward05b.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward05b.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward05b.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward06.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward06.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward06.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward06a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward06a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward06a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward06b.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward06b.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward06b.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward07.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward07.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward07.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward07a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward07a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward07a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward07b.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward07b.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward07b.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward08.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward08.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward08.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward08a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward08a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward08a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward08b.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward08b.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward08b.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward09.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward09.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Forward09.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetHeaders01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetHeaders01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetHeaders01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetInputStream01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetInputStream01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetInputStream01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetLocales01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetLocales01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetLocales01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetLocales02.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetLocales02.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetLocales02.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetParameter01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetParameter01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetParameter01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetParameterMap00.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetParameterMap00.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetParameterMap00.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetQueryString01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetQueryString01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/GetQueryString01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Golden01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Golden01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Golden01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include00.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include00.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include00.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include00a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include00a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include00a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include00d.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include00d.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include00d.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include02.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include02.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include02.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include02a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include02a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include02a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include03.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include03.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include03.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include03a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include03a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include03a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include04.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include04.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include04.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include04a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include04a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include04a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include04b.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include04b.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include04b.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include06a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include06a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include06a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include07.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include07.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include07.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include07a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include07a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include07a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include07b.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include07b.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include07b.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include07c.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include07c.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include07c.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include09.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include09.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include09.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include10.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include10.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include10.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include10a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include10a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Include10a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Jndi01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Jndi01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Jndi01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Jndi02.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Jndi02.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Jndi02.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Lifecycle01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Lifecycle01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Lifecycle01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Lifecycle02.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Lifecycle02.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Lifecycle02.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Lifecycle03.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Lifecycle03.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Lifecycle03.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Redirect01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Redirect01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Redirect01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Redirect01a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Redirect01a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Redirect01a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Reflection01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Reflection01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Reflection01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Request01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Request01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Request01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/RequestListener01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/RequestListener01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/RequestListener01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Reset01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Reset01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Reset01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources02.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources02.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources02.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources03.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources03.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources03.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources04.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources04.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources04.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources05.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources05.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources05.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources06.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources06.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Resources06.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ResponseWrap01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ResponseWrap01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ResponseWrap01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ResponseWrap01a.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ResponseWrap01a.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ResponseWrap01a.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ResponseWrap01c.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ResponseWrap01c.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/ResponseWrap01c.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session02.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session02.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session02.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session03.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session03.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session03.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session04.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session04.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session04.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session05.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session05.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session05.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session06.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session06.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Session06.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SessionBean.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SessionBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SessionBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SessionListener01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SessionListener01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SessionListener01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SessionListener02.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SessionListener02.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SessionListener02.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SessionListener03.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SessionListener03.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SessionListener03.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SetBufferSize01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SetBufferSize01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SetBufferSize01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SetLocale01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SetLocale01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/SetLocale01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/StaticFilter.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/StaticFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/StaticFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/StaticLogger.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/StaticLogger.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/StaticLogger.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TestClient.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TestClient.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TestClient.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterException.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterException.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterException.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterHttpServletRequestWrapper.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterHttpServletRequestWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterHttpServletRequestWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterHttpServletResponseWrapper.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterHttpServletResponseWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterHttpServletResponseWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterServletRequestWrapper.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterServletRequestWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterServletRequestWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterServletResponseWrapper.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterServletResponseWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/TesterServletResponseWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseFilter.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseInputStream.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseInputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseInputStream.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseOutputStream.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseOutputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseOutputStream.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseReader.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseReader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseReader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseRequest.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseRequest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseResponse.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseResponse.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseWriter.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseWriter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/UpperCaseWriter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/WrapperFilter.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/WrapperFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/WrapperFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Xerces01.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Xerces01.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Xerces01.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Xerces01Parser.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Xerces01Parser.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/Xerces01Parser.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/shared/SharedSessionBean.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/shared/SharedSessionBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/shared/SharedSessionBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/unpshared/UnpSharedSessionBean.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/unpshared/UnpSharedSessionBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/unpshared/UnpSharedSessionBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/unshared/UnsharedSessionBean.java
===================================================================
--- trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/unshared/UnsharedSessionBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/tester/src/tester/org/apache/tester/unshared/UnsharedSessionBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/ROOT/WEB-INF/web.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/ROOT/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/ROOT/WEB-INF/web.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionTag.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionsTag.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionsTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ActionsTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationLocales.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationLocales.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationLocales.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources.properties
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationServlet.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/AttributeTag.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/AttributeTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/AttributeTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/CommitChangesAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/CommitChangesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/CommitChangesAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DataTag.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DataTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DataTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpRegistryAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpRegistryAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpRegistryAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpServerAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpServerAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpServerAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelTag.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelValueBean.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelValueBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LabelValueBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/Lists.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/Lists.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/Lists.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LogOutAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LogOutAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/LogOutAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/RowTag.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/RowTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/RowTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetLocaleForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetUpTreeAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetUpTreeAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/SetUpTreeAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TableTag.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TableTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TableTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TomcatTreeBuilder.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TomcatTreeBuilder.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TomcatTreeBuilder.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeBuilder.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeBuilder.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeBuilder.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControl.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControl.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControl.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlNode.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlNode.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlNode.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTag.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTestAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTestAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlTestAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/AddConnectorAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/AddConnectorAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/AddConnectorAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorsForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorsForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/ConnectorsForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorsAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorsAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/EditConnectorAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/EditConnectorAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/EditConnectorAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/patch.txt
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/patch.txt	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/patch.txt	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/AddContextAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/AddContextAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/AddContextAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextsForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextsForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/ContextsForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextsAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextsAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/EditContextAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/EditContextAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/EditContextAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/SaveContextAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/SaveContextAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/SaveContextAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/filters/SetCharacterEncodingFilter.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/filters/SetCharacterEncodingFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/filters/SetCharacterEncodingFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddAliasAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddAliasAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddAliasAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddHostAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddHostAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AddHostAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasesForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/AliasesForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasesAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteAliasesAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostsAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostsAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/EditHostAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/EditHostAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/EditHostAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostsForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostsForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/HostsForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveAliasAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveAliasAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveAliasAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveHostAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveHostAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveHostAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/AddRealmAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/AddRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/AddRealmAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DataSourceRealmForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DataSourceRealmForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DataSourceRealmForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmsAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmsAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/EditRealmAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/EditRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/EditRealmAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JDBCRealmForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JDBCRealmForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JDBCRealmForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JNDIRealmForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JNDIRealmForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/JNDIRealmForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/MemoryRealmForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/MemoryRealmForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/MemoryRealmForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmsForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmsForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/RealmsForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveDataSourceRealmAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveDataSourceRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveDataSourceRealmAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJDBCRealmAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJDBCRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJDBCRealmAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveMemoryRealmAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveMemoryRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveMemoryRealmAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveUserDatabaseRealmAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveUserDatabaseRealmAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveUserDatabaseRealmAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/UserDatabaseRealmForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/UserDatabaseRealmForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/UserDatabaseRealmForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/BaseForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/BaseForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/BaseForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourceForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourceForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourceForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourcesForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourcesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DataSourcesForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteDataSourcesAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteDataSourcesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteDataSourcesAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteEnvEntriesAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteEnvEntriesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteEnvEntriesAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteMailSessionsAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteMailSessionsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteMailSessionsAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteResourceLinksAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteResourceLinksAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteResourceLinksAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteUserDatabasesAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteUserDatabasesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/DeleteUserDatabasesAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntriesForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntriesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntriesForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntryForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntryForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/EnvEntryForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListDataSourcesAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListDataSourcesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListDataSourcesAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListEnvEntriesAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListEnvEntriesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListEnvEntriesAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListMailSessionsAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListMailSessionsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListMailSessionsAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListResourceLinksAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListResourceLinksAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListResourceLinksAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListUserDatabasesAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListUserDatabasesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ListUserDatabasesAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionsForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionsForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/MailSessionsForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinkForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinkForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinkForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinksForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinksForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceLinksForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceUtils.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourceUtils.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourcesTreeBuilder.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourcesTreeBuilder.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/ResourcesTreeBuilder.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveDataSourceAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveDataSourceAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveDataSourceAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveEnvEntryAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveEnvEntryAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveEnvEntryAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveMailSessionAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveMailSessionAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveMailSessionAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveResourceLinkAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveResourceLinkAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveResourceLinkAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveUserDatabaseAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveUserDatabaseAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveUserDatabaseAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpDataSourceAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpDataSourceAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpDataSourceAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpEnvEntryAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpEnvEntryAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpEnvEntryAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpMailSessionAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpMailSessionAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpMailSessionAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpResourceLinkAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpResourceLinkAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpResourceLinkAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpUserDatabaseAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpUserDatabaseAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SetUpUserDatabaseAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabaseForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabaseForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabaseForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabasesForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabasesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/UserDatabasesForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/EditServerAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/EditServerAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/EditServerAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/SaveServerAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/SaveServerAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/SaveServerAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/ServerForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/ServerForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/ServerForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/AddServiceAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/AddServiceAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/AddServiceAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServiceAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServiceAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServiceAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServicesAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServicesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServicesAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/EditServiceAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/EditServiceAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/EditServiceAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/SaveServiceAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/SaveServiceAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/SaveServiceAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServiceForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServiceForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServiceForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServicesForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServicesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServicesForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/BaseForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/BaseForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/BaseForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteGroupsAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteGroupsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteGroupsAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteRolesAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteRolesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteRolesAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteUsersAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteUsersAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteUsersAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupsForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupsForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupsForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListGroupsAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListGroupsAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListGroupsAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListRolesAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListRolesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListRolesAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListUsersAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListUsersAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListUsersAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RoleForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RoleForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RoleForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RolesForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RolesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RolesForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveGroupAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveGroupAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveGroupAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveRoleAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveRoleAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveRoleAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveUserAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveUserAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveUserAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpGroupAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpGroupAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpGroupAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpRoleAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpRoleAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpRoleAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpUserAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpUserAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SetUpUserAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserUtils.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UserUtils.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersTreeBuilder.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersTreeBuilder.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersTreeBuilder.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AccessLogValveForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AccessLogValveForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AccessLogValveForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AddValveAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AddValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/AddValveAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValveAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValveAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValvesAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValvesAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/DeleteValvesAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/EditValveAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/EditValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/EditValveAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteAddrValveForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteAddrValveForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteAddrValveForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteHostValveForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteHostValveForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RemoteHostValveForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RequestDumperValveForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RequestDumperValveForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/RequestDumperValveForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveAccessLogValveAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveAccessLogValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveAccessLogValveAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteAddrValveAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteAddrValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteAddrValveAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteHostValveAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteHostValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRemoteHostValveAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRequestDumperValveAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRequestDumperValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveRequestDumperValveAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveSingleSignOnValveAction.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveSingleSignOnValveAction.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SaveSingleSignOnValveAction.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SingleSignOnValveForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SingleSignOnValveForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/SingleSignOnValveForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveUtil.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveUtil.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveUtil.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValvesForm.java
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValvesForm.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValvesForm.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/connector/connector.jsp
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/connector/connector.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/connector/connector.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/admin/resources/envEntry.jsp
===================================================================
--- trunk/tomcat5.5/container/webapps/admin/resources/envEntry.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/admin/resources/envEntry.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/BalancerFilter.java
===================================================================
--- trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/BalancerFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/BalancerFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/Rule.java
===================================================================
--- trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/Rule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/Rule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RuleChain.java
===================================================================
--- trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RuleChain.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RuleChain.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RulesParser.java
===================================================================
--- trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RulesParser.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/RulesParser.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/AcceptEverythingRule.java
===================================================================
--- trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/AcceptEverythingRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/AcceptEverythingRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/BaseRule.java
===================================================================
--- trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/BaseRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/BaseRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RemoteAddressRule.java
===================================================================
--- trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RemoteAddressRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RemoteAddressRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestAttributeRule.java
===================================================================
--- trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestAttributeRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestAttributeRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestHeaderRule.java
===================================================================
--- trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestHeaderRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestHeaderRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestParameterRule.java
===================================================================
--- trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestParameterRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/RequestParameterRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/SessionAttributeRule.java
===================================================================
--- trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/SessionAttributeRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/SessionAttributeRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/URLStringMatchRule.java
===================================================================
--- trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/URLStringMatchRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/URLStringMatchRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/UserRoleRule.java
===================================================================
--- trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/UserRoleRule.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/balancer/WEB-INF/classes/org/apache/webapp/balancer/rules/UserRoleRule.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/appdev/sample/src/mypackage/Hello.java
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/appdev/sample/src/mypackage/Hello.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/appdev/sample/src/mypackage/Hello.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/webapps/docs/building.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/building.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/building.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/changelog.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/changelog.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/changelog.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/cluster-howto.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/cluster-howto.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/cluster-howto.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/config/ajp.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/config/ajp.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/config/ajp.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/config/context.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/config/context.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/config/context.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/config/engine.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/config/engine.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/config/engine.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/config/globalresources.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/config/globalresources.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/config/globalresources.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/config/host.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/config/host.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/config/host.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/config/http.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/config/http.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/config/http.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/config/loader.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/config/loader.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/config/loader.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/config/realm.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/config/realm.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/config/realm.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/config/valve.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/config/valve.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/config/valve.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/funcspecs/mbean-names.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/funcspecs/mbean-names.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/funcspecs/mbean-names.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/index.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/index.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/index.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/jasper-howto.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/jasper-howto.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/jasper-howto.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/jndi-resources-howto.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/jndi-resources-howto.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/jndi-resources-howto.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/logging.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/logging.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/logging.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/manager-howto.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/manager-howto.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/manager-howto.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/monitoring.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/monitoring.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/monitoring.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/project.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/project.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/project.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/realm-howto.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/realm-howto.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/realm-howto.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/setup.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/setup.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/setup.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/docs/ssl-howto.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/ssl-howto.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/docs/ssl-howto.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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>

Copied: trunk/tomcat5.5/container/webapps/docs/virtual-hosting-howto.xml (from rev 3531, branches/tomcat5.5/upstream/current/container/webapps/docs/virtual-hosting-howto.xml)
===================================================================
--- trunk/tomcat5.5/container/webapps/docs/virtual-hosting-howto.xml	                        (rev 0)
+++ trunk/tomcat5.5/container/webapps/docs/virtual-hosting-howto.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java
===================================================================
--- trunk/tomcat5.5/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HTMLHostManagerServlet.java
===================================================================
--- trunk/tomcat5.5/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HTMLHostManagerServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HTMLHostManagerServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HostManagerServlet.java
===================================================================
--- trunk/tomcat5.5/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HostManagerServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/host-manager/WEB-INF/classes/org/apache/catalina/hostmanager/HostManagerServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/host-manager/WEB-INF/web.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/host-manager/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/host-manager/WEB-INF/web.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/jmxremote/WEB-INF/web.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/jmxremote/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/jmxremote/WEB-INF/web.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/Constants.java
===================================================================
--- trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/Constants.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/Constants.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/HTMLManagerServlet.java
===================================================================
--- trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/HTMLManagerServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/HTMLManagerServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/JMXProxyServlet.java
===================================================================
--- trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/JMXProxyServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/JMXProxyServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/LocalStrings.properties
===================================================================
--- trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/LocalStrings.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java
===================================================================
--- trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java.orig
===================================================================
--- trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java.orig	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/ManagerServlet.java.orig	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java
===================================================================
--- trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusTransformer.java
===================================================================
--- trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusTransformer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusTransformer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/container/webapps/manager/WEB-INF/web.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/manager/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/manager/WEB-INF/web.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/container/webapps/webdav/WEB-INF/web.xml
===================================================================
--- trunk/tomcat5.5/container/webapps/webdav/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/container/webapps/webdav/WEB-INF/web.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/debian/changelog
===================================================================
--- trunk/tomcat5.5/debian/changelog	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/debian/changelog	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,3 +1,9 @@
+tomcat5.5 (5.5.23-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Marcus Better <marcus at better.se>  Mon, 21 May 2007 13:25:10 +0200
+
 tomcat5.5 (5.5.20-5) unstable; urgency=low
 
   * Messages are now logged to the system log instead of the pipe

Modified: trunk/tomcat5.5/jasper/build.xml
===================================================================
--- trunk/tomcat5.5/jasper/build.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/build.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <project name="Jasper2" default="deploy" basedir=".">
 
 

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

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/JspC.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/JspC.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/JspC.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/JspCompilationContext.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/JspCompilationContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/JspCompilationContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

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

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

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Compiler.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Compiler.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Compiler.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/DefaultErrorHandler.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/DefaultErrorHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/DefaultErrorHandler.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Dumper.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Dumper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Dumper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

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

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/ErrorDispatcher.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/ErrorDispatcher.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/ErrorDispatcher.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/ErrorHandler.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/ErrorHandler.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/ErrorHandler.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Generator.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Generator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Generator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JDTCompiler.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JDTCompiler.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JDTCompiler.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JasperTagInfo.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JasperTagInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JasperTagInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JavacErrorDetail.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JavacErrorDetail.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JavacErrorDetail.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JspConfig.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JspConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JspConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JspReader.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JspReader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JspReader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JspRuntimeContext.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JspRuntimeContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JspRuntimeContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JspUtil.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JspUtil.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/JspUtil.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Localizer.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Localizer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Localizer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/PageDataImpl.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/PageDataImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/PageDataImpl.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/PageInfo.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/PageInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/PageInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Parser.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Parser.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Parser.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/ParserController.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/ParserController.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/ParserController.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

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

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

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

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

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

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/TagPluginManager.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/TagPluginManager.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/TagPluginManager.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Validator.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Validator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/Validator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/tagplugin/TagPlugin.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/tagplugin/TagPlugin.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/compiler/tagplugin/TagPlugin.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/resources/LocalStrings.properties
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/resources/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/resources/LocalStrings.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/BodyContentImpl.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/BodyContentImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/BodyContentImpl.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

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

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

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/JspRuntimeLibrary.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/JspRuntimeLibrary.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/JspRuntimeLibrary.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/JspSourceDependent.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/JspSourceDependent.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/JspSourceDependent.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/PageContextImpl.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/PageContextImpl.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/PageContextImpl.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/PerThreadTagHandlerPool.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/PerThreadTagHandlerPool.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/runtime/PerThreadTagHandlerPool.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

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

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

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

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

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/servlet/JspServlet.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/servlet/JspServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/servlet/JspServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/servlet/JspServletWrapper.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/servlet/JspServletWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/servlet/JspServletWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/Util.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/Util.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/Util.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Catch.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Catch.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Catch.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Choose.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Choose.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Choose.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForEach.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForEach.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForEach.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForTokens.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForTokens.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/ForTokens.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/If.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/If.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/If.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Import.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Import.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Import.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Otherwise.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Otherwise.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Otherwise.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Out.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Out.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Out.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Param.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Param.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Param.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Redirect.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Redirect.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Redirect.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Remove.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Remove.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Remove.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Set.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Set.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Set.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Url.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Url.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/Url.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/When.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/When.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/tagplugins/jstl/core/When.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/util/FastDateFormat.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/util/FastDateFormat.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/util/FastDateFormat.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

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

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

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

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/ASCIIReader.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/ASCIIReader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/ASCIIReader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/EncodingMap.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/EncodingMap.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/EncodingMap.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/ParserUtils.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/ParserUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/ParserUtils.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/SymbolTable.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/SymbolTable.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/SymbolTable.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/TreeNode.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/TreeNode.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/TreeNode.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/UCSReader.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/UCSReader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/UCSReader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/UTF8Reader.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/UTF8Reader.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/UTF8Reader.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/XMLChar.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/XMLChar.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/XMLChar.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/XMLEncodingDetector.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/XMLEncodingDetector.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/XMLEncodingDetector.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software

Modified: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/XMLString.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/XMLString.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/XMLString.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/XMLStringBuffer.java
===================================================================
--- trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/XMLStringBuffer.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/jasper/src/share/org/apache/jasper/xmlparser/XMLStringBuffer.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -1,10 +1,11 @@
 /*
- * Copyright 1999,2004 The Apache Software Foundation.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a 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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/cal/Entries.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/cal/Entries.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/cal/Entries.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/cal/Entry.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/cal/Entry.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/cal/Entry.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/cal/JspCalendar.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/cal/JspCalendar.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/cal/JspCalendar.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/cal/TableBean.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/cal/TableBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/cal/TableBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/checkbox/CheckTest.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/checkbox/CheckTest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/checkbox/CheckTest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/colors/ColorGameBean.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/colors/ColorGameBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/colors/ColorGameBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/dates/JspCalendar.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/dates/JspCalendar.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/dates/JspCalendar.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/error/Smart.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/error/Smart.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/error/Smart.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/ExampleTagBase.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/ExampleTagBase.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/ExampleTagBase.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTag.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTagExtraInfo.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTagExtraInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/FooTagExtraInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/LogTag.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/LogTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/LogTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/ShowSource.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/ShowSource.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/examples/ShowSource.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/filters/ExampleFilter.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/filters/ExampleFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/filters/ExampleFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/filters/RequestDumperFilter.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/filters/RequestDumperFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/filters/RequestDumperFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/BookBean.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/BookBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/BookBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/FooBean.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/FooBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/FooBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/el/Functions.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/el/Functions.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/el/Functions.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/listeners/ContextListener.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/listeners/ContextListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/listeners/ContextListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/listeners/SessionListener.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/listeners/SessionListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/listeners/SessionListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/num/NumberGuessBean.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/num/NumberGuessBean.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/num/NumberGuessBean.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/servletToJsp.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/servletToJsp.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/servletToJsp.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/sessions/DummyCart.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/sessions/DummyCart.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/sessions/DummyCart.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/util/HTMLFilter.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/util/HTMLFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/util/HTMLFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/validators/DebugValidator.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/validators/DebugValidator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/classes/validators/DebugValidator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/jsp/applet/Clock2.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/jsp/applet/Clock2.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/jsp/applet/Clock2.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/jsp/debug-taglib.tld
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/jsp/debug-taglib.tld	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/jsp/debug-taglib.tld	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/jsp/example-taglib.tld
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/jsp/example-taglib.tld	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/jsp/example-taglib.tld	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/jsp2/jsp2-example-taglib.tld
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/jsp2/jsp2-example-taglib.tld	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/jsp2/jsp2-example-taglib.tld	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/tags/displayProducts.tag
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/tags/displayProducts.tag	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/tags/displayProducts.tag	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/tags/helloWorld.tag
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/tags/helloWorld.tag	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/tags/helloWorld.tag	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/tags/panel.tag
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/tags/panel.tag	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/tags/panel.tag	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/tags/xhtmlbasic.tag
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/tags/xhtmlbasic.tag	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/tags/xhtmlbasic.tag	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/web.xml
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/WEB-INF/web.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/cal/cal1.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/cal/cal1.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/cal/cal1.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/cal/cal2.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/cal/cal2.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/cal/cal2.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/cal/calendar.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/cal/calendar.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/cal/calendar.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/cal/login.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/cal/login.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/cal/login.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/checkbox/CheckTest.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/checkbox/CheckTest.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/checkbox/CheckTest.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/checkbox/check.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/checkbox/check.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/checkbox/check.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/checkbox/checkresult.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/checkbox/checkresult.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/checkbox/checkresult.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/checkbox/cresult.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/checkbox/cresult.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/checkbox/cresult.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/colors/ColorGameBean.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/colors/ColorGameBean.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/colors/ColorGameBean.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/colors/clr.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/colors/clr.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/colors/clr.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/colors/colors.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/colors/colors.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/colors/colors.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/colors/colrs.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/colors/colrs.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/colors/colrs.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/dates/date.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/dates/date.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/dates/date.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/dates/date.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/dates/date.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/dates/date.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/error/er.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/error/er.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/error/er.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/error/err.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/error/err.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/error/err.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/error/error.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/error/error.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/error/error.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/error/errorpge.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/error/errorpge.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/error/errorpge.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/include/foo.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/include/foo.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/include/foo.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/include/foo.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/include/foo.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/include/foo.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/include/inc.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/include/inc.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/include/inc.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/include/include.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/include/include.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/include/include.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/index.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/index.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/index.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/basic-arithmetic.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/basic-comparisons.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/basic-comparisons.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/basic-comparisons.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/basic-comparisons.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/basic-comparisons.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/basic-comparisons.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/functions.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/functions.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/functions.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/functions.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/functions.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/functions.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/implicit-objects.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/implicit-objects.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/el/implicit-objects.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspattribute/jspattribute.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspattribute/shuffle.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspx/basic.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspx/basic.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspx/basic.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspx/svgexample.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspx/svgexample.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspx/svgexample.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspx/textRotate.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspx/textRotate.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/jspx/textRotate.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/misc/config.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/misc/config.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/misc/config.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/misc/config.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/misc/config.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/misc/config.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/misc/dynamicattrs.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/book.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/book.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/book.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/book.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/book.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/book.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/hello.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/hello.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/hello.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/hello.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/hello.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/hello.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/repeat.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/repeat.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/repeat.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/repeat.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/repeat.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/simpletag/repeat.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/hello.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/hello.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/hello.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/hello.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/hello.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/hello.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/panel.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/panel.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/panel.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/panel.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/panel.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/panel.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/products.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/products.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsp2/tagfiles/products.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsptoserv/hello.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsptoserv/hello.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsptoserv/hello.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsptoserv/jsptoservlet.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsptoserv/jsptoservlet.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsptoserv/jsptoservlet.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/jsptoserv/jts.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/jsptoserv/jts.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/jsptoserv/jts.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/num/numguess.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/num/numguess.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/num/numguess.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/num/numguess.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/num/numguess.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/num/numguess.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/plugin/applet/Clock2.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/plugin/applet/Clock2.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/plugin/applet/Clock2.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/plugin/plugin.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/plugin/plugin.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/plugin/plugin.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/plugin/plugin.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/plugin/plugin.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/plugin/plugin.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/security/protected/error.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/security/protected/error.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/security/protected/error.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/security/protected/index.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/security/protected/index.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/security/protected/index.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/security/protected/login.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/security/protected/login.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/security/protected/login.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/sessions/DummyCart.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/sessions/DummyCart.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/sessions/DummyCart.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/sessions/carts.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/sessions/carts.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/sessions/carts.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/sessions/carts.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/sessions/carts.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/sessions/carts.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/sessions/crt.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/sessions/crt.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/sessions/crt.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/simpletag/foo.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/simpletag/foo.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/simpletag/foo.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/simpletag/foo.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/simpletag/foo.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/simpletag/foo.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/snp/snoop.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/snp/snoop.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/snp/snoop.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/snp/snoop.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/snp/snoop.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/snp/snoop.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/source.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/source.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/source.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/choose.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/choose.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/choose.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/choose.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/choose.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/choose.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/foreach.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/foreach.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/foreach.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/foreach.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/foreach.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/foreach.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/howto.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/howto.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/howto.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/if.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/if.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/if.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/if.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/if.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/if.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/notes.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/notes.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/tagplugin/notes.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/xml/xml.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/xml/xml.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/xml/xml.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/examples/xml/xml.jsp
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/examples/xml/xml.jsp	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/examples/xml/xml.jsp	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/ant/task/Txt2Html.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/ant/task/Txt2Html.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/ant/task/Txt2Html.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/jsp_2_0.xsd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/jsp_2_0.xsd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/jsp_2_0.xsd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/jspxml.dtd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/jspxml.dtd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/jspxml.dtd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/jspxml.xsd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/jspxml.xsd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/jspxml.xsd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_1.dtd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_1.dtd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_1.dtd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_2.dtd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_2.dtd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_1_2.dtd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/ErrorData.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/ErrorData.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/ErrorData.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/HttpJspPage.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/HttpJspPage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/HttpJspPage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspContext.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspEngineInfo.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspEngineInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspEngineInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspException.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspException.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspException.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspFactory.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspFactory.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspFactory.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspPage.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspPage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspPage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspTagException.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspTagException.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspTagException.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspWriter.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspWriter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/JspWriter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/PageContext.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/PageContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/PageContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/SkipPageException.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/SkipPageException.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/SkipPageException.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELException.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELException.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELException.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELParseException.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELParseException.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/ELParseException.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/Expression.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/Expression.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/Expression.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/FunctionMapper.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/FunctionMapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/FunctionMapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/VariableResolver.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/VariableResolver.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/el/VariableResolver.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyContent.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyContent.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyContent.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTagSupport.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTagSupport.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/BodyTagSupport.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/DynamicAttributes.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/DynamicAttributes.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/DynamicAttributes.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/FunctionInfo.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/FunctionInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/FunctionInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspTag.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/JspTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/PageData.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/PageData.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/PageData.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/Tag.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/Tag.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/Tag.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAttributeInfo.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAttributeInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagAttributeInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagData.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagData.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagData.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagFileInfo.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagFileInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagFileInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagSupport.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagSupport.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagSupport.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagVariableInfo.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagVariableInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TagVariableInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TryCatchFinally.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TryCatchFinally.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/TryCatchFinally.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/ValidationMessage.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/ValidationMessage.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/ValidationMessage.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/CookieExample.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/CookieExample.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/CookieExample.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/HelloWorldExample.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/HelloWorldExample.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/HelloWorldExample.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings.properties
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_en.properties
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_en.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_en.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_es.properties
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_es.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_es.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_fr.properties
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_fr.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_fr.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_pt.properties
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_pt.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/LocalStrings_pt.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/RequestHeaderExample.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/RequestHeaderExample.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/RequestHeaderExample.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/RequestInfoExample.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/RequestInfoExample.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/RequestInfoExample.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/RequestParamExample.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/RequestParamExample.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/RequestParamExample.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/SessionExample.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/SessionExample.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/SessionExample.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/filters/ExampleFilter.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/filters/ExampleFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/filters/ExampleFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/filters/RequestDumperFilter.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/filters/RequestDumperFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/filters/RequestDumperFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/listeners/ContextListener.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/listeners/ContextListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/listeners/ContextListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/listeners/SessionListener.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/listeners/SessionListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/listeners/SessionListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/util/HTMLFilter.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/util/HTMLFilter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/classes/util/HTMLFilter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/web.xml
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/web.xml	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/WEB-INF/web.xml	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/cookies.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/cookies.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/cookies.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/helloworld.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/helloworld.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/helloworld.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/index.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/index.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/index.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/reqheaders.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/reqheaders.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/reqheaders.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/reqinfo.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/reqinfo.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/reqinfo.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/reqparams.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/reqparams.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/reqparams.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/examples/sessions.html
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/examples/sessions.html	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/examples/sessions.html	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/XMLSchema.dtd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/XMLSchema.dtd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/XMLSchema.dtd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/datatypes.dtd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/datatypes.dtd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/datatypes.dtd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/j2ee_1_4.xsd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/j2ee_1_4.xsd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/j2ee_1_4.xsd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/j2ee_web_services_1_1.xsd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/j2ee_web_services_1_1.xsd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/j2ee_web_services_1_1.xsd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/j2ee_web_services_client_1_1.xsd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/j2ee_web_services_client_1_1.xsd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/j2ee_web_services_client_1_1.xsd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/jsp_2_0.xsd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/jsp_2_0.xsd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/jsp_2_0.xsd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/jspxml.dtd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/jspxml.dtd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/jspxml.dtd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/jspxml.xsd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/jspxml.xsd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/jspxml.xsd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-app_2_2.dtd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-app_2_2.dtd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-app_2_2.dtd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-app_2_3.dtd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-app_2_3.dtd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-app_2_3.dtd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-app_2_4.xsd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-app_2_4.xsd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-app_2_4.xsd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_1.dtd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_1.dtd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_1.dtd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_2.dtd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_2.dtd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_1_2.dtd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/xml.xsd
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/xml.xsd	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/dtd/xml.xsd	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/Filter.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/Filter.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/Filter.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/FilterChain.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/FilterChain.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/FilterChain.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/FilterConfig.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/FilterConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/FilterConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/GenericServlet.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/GenericServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/GenericServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/LocalStrings.properties
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/LocalStrings.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/LocalStrings_fr.properties
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/LocalStrings_fr.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/LocalStrings_fr.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/LocalStrings_ja.properties
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/LocalStrings_ja.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/LocalStrings_ja.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/RequestDispatcher.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/RequestDispatcher.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/RequestDispatcher.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/Servlet.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/Servlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/Servlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletConfig.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletConfig.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletConfig.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContext.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeEvent.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeEvent.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeListener.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContextAttributeListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContextEvent.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContextEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContextEvent.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContextListener.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContextListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletContextListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletException.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletException.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletException.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletInputStream.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletInputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletInputStream.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletOutputStream.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletOutputStream.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletOutputStream.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequest.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeEvent.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeEvent.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeListener.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestAttributeListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestEvent.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestEvent.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestListener.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestWrapper.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletRequestWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletResponse.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletResponse.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletResponseWrapper.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletResponseWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/ServletResponseWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/SingleThreadModel.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/SingleThreadModel.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/SingleThreadModel.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/UnavailableException.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/UnavailableException.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/UnavailableException.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/Cookie.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/Cookie.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/Cookie.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServlet.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServlet.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServlet.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequest.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequest.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequest.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequestWrapper.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequestWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServletRequestWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponse.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponse.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponse.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponseWrapper.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponseWrapper.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpServletResponseWrapper.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSession.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSession.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSession.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionActivationListener.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionActivationListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionActivationListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionAttributeListener.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionAttributeListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionAttributeListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingEvent.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingEvent.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingListener.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionBindingListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionContext.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionContext.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionContext.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionEvent.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionEvent.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionEvent.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionListener.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionListener.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpSessionListener.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpUtils.java
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpUtils.java	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/HttpUtils.java	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings.properties
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_es.properties
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_es.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_es.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_fr.properties
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_fr.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_fr.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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: trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_ja.properties
===================================================================
--- trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_ja.properties	2007-05-21 10:51:24 UTC (rev 3531)
+++ trunk/tomcat5.5/servletapi/jsr154/src/share/javax/servlet/http/LocalStrings_ja.properties	2007-05-21 11:26:17 UTC (rev 3532)
@@ -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