commons-collections.loc=${base-jakarta.loc}/commons/collections/binaries/commons-collections-3.1.tar.gz\r
commons-collections-src.loc=${base-jakarta.loc}/commons/collections/source/commons-collections-3.1-src.tar.gz\r
\r
+# ----- NSIS, version 2.0 or later -----\r
+nsis.home=${base.path}/nsis-2.0\r
+nsis.exe=${nsis.home}/makensis.exe\r
+nsis.installoptions.dll=${nsis.home}/Plugins/InstallOptions.dll\r
+nsis.nsexec.dll=${nsis.home}/Plugins/nsExec.dll\r
+nsis.nsisdl.dll=${nsis.home}/Plugins/nsisdl.dll\r
+nsis.loc=${base-sf.loc}/nsis/nsis20.exe\r
\r
<!-- Project Properties -->\r
<property name="name" value="Apache Tomcat" />\r
- <property name="year" value="2005" />\r
+ <property name="year" value="2006" />\r
<property name="version.major" value="6" />\r
<property name="version.minor" value="0" />\r
<property name="version.build" value="0" />\r
<property name="final-src.name" value="${project}-${version}-src" />\r
\r
<!-- Build Defaults -->\r
- <property name="tomcat.build" value="${basedir}/build"/>\r
- <property name="tomcat.classes" value="${basedir}/classes"/>\r
- <property name="tomcat.dist" value="${basedir}/dist"/>\r
+ <property name="tomcat.build" value="${basedir}/output/build"/>\r
+ <property name="tomcat.classes" value="${basedir}/output/classes"/>\r
+ <property name="tomcat.dist" value="${basedir}/output/dist"/>\r
<property name="test.failonerror" value="true"/>\r
<property name="test.runner" value="junit.textui.TestRunner"/>\r
\r
<!-- Copy static resource files -->\r
<copy todir="${tomcat.build}/conf">\r
<fileset dir="conf">\r
- <include name="*.xml"/>\r
- <include name="*.properties"/>\r
+ <include name="**/*.xml"/>\r
+ <include name="**/*.properties"/>\r
</fileset>\r
</copy>\r
\r
--- /dev/null
+// ============================================================================\r
+// catalina.corepolicy - Security Policy Permissions for Tomcat 5\r
+//\r
+// This file contains a default set of security policies to be enforced (by the\r
+// JVM) when Catalina is executed with the "-security" option. In addition\r
+// to the permissions granted here, the following additional permissions are\r
+// granted to the codebase specific to each web application:\r
+//\r
+// * Read access to the document root directory\r
+//\r
+// $Id: catalina.policy 393732 2006-04-13 06:32:25Z pero $\r
+// ============================================================================\r
+\r
+\r
+// ========== SYSTEM CODE PERMISSIONS =========================================\r
+\r
+\r
+// These permissions apply to javac\r
+grant codeBase "file:${java.home}/lib/-" {\r
+ permission java.security.AllPermission;\r
+};\r
+\r
+// These permissions apply to all shared system extensions\r
+grant codeBase "file:${java.home}/jre/lib/ext/-" {\r
+ permission java.security.AllPermission;\r
+};\r
+\r
+// These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre\r
+grant codeBase "file:${java.home}/../lib/-" {\r
+ permission java.security.AllPermission;\r
+};\r
+\r
+// These permissions apply to all shared system extensions when\r
+// ${java.home} points at $JAVA_HOME/jre\r
+grant codeBase "file:${java.home}/lib/ext/-" {\r
+ permission java.security.AllPermission;\r
+};\r
+\r
+\r
+// ========== CATALINA CODE PERMISSIONS =======================================\r
+\r
+\r
+// These permissions apply to the launcher code\r
+grant codeBase "file:${catalina.home}/bin/commons-launcher.jar" {\r
+ permission java.security.AllPermission;\r
+};\r
+\r
+// These permissions apply to the daemon code\r
+grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {\r
+ permission java.security.AllPermission;\r
+};\r
+\r
+// These permissions apply to the commons-logging API\r
+grant codeBase "file:${catalina.home}/bin/commons-logging-api.jar" {\r
+ permission java.security.AllPermission;\r
+};\r
+\r
+// These permissions apply to the server startup code\r
+grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {\r
+ permission java.security.AllPermission;\r
+};\r
+\r
+// These permissions apply to the servlet API classes\r
+// and those that are shared across all class loaders\r
+// located in the "common" directory\r
+grant codeBase "file:${catalina.home}/lib/-" {\r
+ permission java.security.AllPermission;\r
+};\r
+\r
+// The permissions granted to the balancer WEB-INF/classes and WEB-INF/lib directory\r
+grant codeBase "file:${catalina.home}/webapps/balancer/-" {\r
+ permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.util.digester";\r
+ permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.util.digester.*";\r
+};\r
+// ========== WEB APPLICATION PERMISSIONS =====================================\r
+\r
+\r
+// These permissions are granted by default to all web applications\r
+// In addition, a web application will be given a read FilePermission\r
+// and JndiPermission for all files and directories in its document root.\r
+grant { \r
+ // Required for JNDI lookup of named JDBC DataSource's and\r
+ // javamail named MimePart DataSource used to send mail\r
+ permission java.util.PropertyPermission "java.home", "read";\r
+ permission java.util.PropertyPermission "java.naming.*", "read";\r
+ permission java.util.PropertyPermission "javax.sql.*", "read";\r
+\r
+ // OS Specific properties to allow read access\r
+ permission java.util.PropertyPermission "os.name", "read";\r
+ permission java.util.PropertyPermission "os.version", "read";\r
+ permission java.util.PropertyPermission "os.arch", "read";\r
+ permission java.util.PropertyPermission "file.separator", "read";\r
+ permission java.util.PropertyPermission "path.separator", "read";\r
+ permission java.util.PropertyPermission "line.separator", "read";\r
+\r
+ // JVM properties to allow read access\r
+ permission java.util.PropertyPermission "java.version", "read";\r
+ permission java.util.PropertyPermission "java.vendor", "read";\r
+ permission java.util.PropertyPermission "java.vendor.url", "read";\r
+ permission java.util.PropertyPermission "java.class.version", "read";\r
+ permission java.util.PropertyPermission "java.specification.version", "read";\r
+ permission java.util.PropertyPermission "java.specification.vendor", "read";\r
+ permission java.util.PropertyPermission "java.specification.name", "read";\r
+\r
+ permission java.util.PropertyPermission "java.vm.specification.version", "read";\r
+ permission java.util.PropertyPermission "java.vm.specification.vendor", "read";\r
+ permission java.util.PropertyPermission "java.vm.specification.name", "read";\r
+ permission java.util.PropertyPermission "java.vm.version", "read";\r
+ permission java.util.PropertyPermission "java.vm.vendor", "read";\r
+ permission java.util.PropertyPermission "java.vm.name", "read";\r
+\r
+ // Required for OpenJMX\r
+ permission java.lang.RuntimePermission "getAttribute";\r
+\r
+ // Allow read of JAXP compliant XML parser debug\r
+ permission java.util.PropertyPermission "jaxp.debug", "read";\r
+\r
+ // Precompiled JSPs need access to this package.\r
+ permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";\r
+ permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime.*";\r
+ \r
+};\r
+\r
+\r
+// You can assign additional permissions to particular web applications by\r
+// adding additional "grant" entries here, based on the code base for that\r
+// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.\r
+//\r
+// Different permissions can be granted to JSP pages, classes loaded from\r
+// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/\r
+// directory, or even to individual jar files in the /WEB-INF/lib/ directory.\r
+//\r
+// For instance, assume that the standard "examples" application\r
+// included a JDBC driver that needed to establish a network connection to the\r
+// corresponding database and used the scrape taglib to get the weather from\r
+// the NOAA web server. You might create a "grant" entries like this:\r
+//\r
+// The permissions granted to the context root directory apply to JSP pages.\r
+// grant codeBase "file:${catalina.home}/webapps/examples/-" {\r
+// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";\r
+// permission java.net.SocketPermission "*.noaa.gov:80", "connect";\r
+// };\r
+//\r
+// The permissions granted to the context WEB-INF/classes directory\r
+// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/classes/-" {\r
+// };\r
+//\r
+// The permission granted to your JDBC driver\r
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {\r
+// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";\r
+// };\r
+// The permission granted to the scrape taglib\r
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {\r
+// permission java.net.SocketPermission "*.noaa.gov:80", "connect";\r
+// };\r
+\r
--- /dev/null
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageAccess unless the
+# corresponding RuntimePermission ("accessClassInPackage."+package) has
+# been granted.
+package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans.
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageDefinition unless the
+# corresponding RuntimePermission ("defineClassInPackage."+package) has
+# been granted.
+#
+# by default, no packages are restricted for definition, and none of
+# the class loaders supplied with the JDK call checkPackageDefinition.
+#
+package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
+
+#
+#
+# List of comma-separated paths defining the contents of the "common"
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
+# If left as blank,the JVM system loader will be used as Catalina's "common"
+# loader.
+# Examples:
+# "foo": Add this folder as a class repository
+# "foo/*.jar": Add all the JARs of the specified folder as class
+# repositories
+# "foo/bar.jar": Add bar.jar as a class repository
+common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar
+
+#
+# List of comma-separated paths defining the contents of the "server"
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
+# If left as blank, the "common" loader will be used as Catalina's "server"
+# loader.
+# Examples:
+# "foo": Add this folder as a class repository
+# "foo/*.jar": Add all the JARs of the specified folder as class
+# repositories
+# "foo/bar.jar": Add bar.jar as a class repository
+server.loader=
+
+#
+# List of comma-separated paths defining the contents of the "shared"
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_BASE path or absolute. If left as blank,
+# the "common" loader will be used as Catalina's "shared" loader.
+# Examples:
+# "foo": Add this folder as a class repository
+# "foo/*.jar": Add all the JARs of the specified folder as class
+# repositories
+# "foo/bar.jar": Add bar.jar as a class repository
+# Please note that for single jars, e.g. bar.jar, you need the URL form
+# starting with file:.
+shared.loader=
+
+#
+# String cache configuration.
+tomcat.util.buf.StringCache.byte.enabled=true
+#tomcat.util.buf.StringCache.char.enabled=true
+#tomcat.util.buf.StringCache.trainThreshold=500000
+#tomcat.util.buf.StringCache.cacheSize=5000
--- /dev/null
+<!-- The contents of this file will be loaded for each web application -->
+<Context>
+
+ <!-- Default set of monitored resources -->
+ <WatchedResource>WEB-INF/web.xml</WatchedResource>
+
+ <!-- Uncomment this to disable session persistence across Tomcat restarts -->
+ <!--
+ <Manager pathname="" />
+ -->
+
+</Context>
\ No newline at end of file
--- /dev/null
+<Server port="8005" shutdown="SHUTDOWN">
+
+ <GlobalNamingResources>
+ <!-- Used by Manager webapp -->
+ <Resource name="UserDatabase" auth="Container"
+ type="org.apache.catalina.UserDatabase"
+ description="User database that can be updated and saved"
+ factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+ pathname="conf/tomcat-users.xml" />
+ </GlobalNamingResources>
+
+ <Service name="Catalina">
+ <Connector port="8080" />
+
+ <!-- This is here for compatibility only, not required -->
+ <Connector port="8009" protocol="AJP/1.3" />
+
+ <Engine name="Catalina" defaultHost="localhost">
+ <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
+ resourceName="UserDatabase" />
+ <Host name="localhost" appBase="webapps" />
+ </Engine>
+
+ </Service>
+</Server>
+<!-- Example Server Configuration File -->
+<!-- Note that component elements are nested corresponding to their
+ parent-child relationships with each other -->
+
+<!-- A "Server" is a singleton element that represents the entire JVM,
+ which may contain one or more "Service" instances. The Server
+ listens for a shutdown command on the indicated port.
+
+ Note: A "Server" is not itself a "Container", so you may not
+ define subcomponents such as "Valves" or "Loggers" at this level.
+ -->
+
<Server port="8005" shutdown="SHUTDOWN">
+ <!-- Comment these entries out to disable JMX MBeans support used for the
+ administration web application -->
+ <Listener className="org.apache.catalina.core.AprLifecycleListener" />
+ <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
+ <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
+ <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
+
+ <!-- Global JNDI resources -->
<GlobalNamingResources>
- <!-- Used by Manager webapp -->
+
+ <!-- Test entry for demonstration purposes -->
+ <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
+
+ <!-- Editable user database that can also be used by
+ UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
+
</GlobalNamingResources>
+ <!-- A "Service" is a collection of one or more "Connectors" that share
+ a single "Container" (and therefore the web applications visible
+ within that Container). Normally, that Container is an "Engine",
+ but this is not required.
+
+ Note: A "Service" is not itself a "Container", so you may not
+ define subcomponents such as "Valves" or "Loggers" at this level.
+ -->
+
+ <!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
- <Connector port="8080" />
- <!-- This is here for compatibility only, not required
- <Connector port="8009" protocol="AJP/1.3" />
- -->
+ <!-- A "Connector" represents an endpoint by which requests are received
+ and responses are returned. Each Connector passes requests on to the
+ associated "Container" (normally an Engine) for processing.
+
+ By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
+ You can also enable an SSL HTTP/1.1 Connector on port 8443 by
+ following the instructions below and uncommenting the second Connector
+ entry. SSL support requires the following steps (see the SSL Config
+ HOWTO in the Tomcat 5 documentation bundle for more detailed
+ instructions):
+ * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
+ later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
+ * Execute:
+ %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
+ $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
+ with a password value of "changeit" for both the certificate and
+ the keystore itself.
+
+ By default, DNS lookups are enabled when a web application calls
+ request.getRemoteHost(). This can have an adverse impact on
+ performance, so you can disable it by setting the
+ "enableLookups" attribute to "false". When DNS lookups are disabled,
+ request.getRemoteHost() will return the String version of the
+ IP address of the remote client.
+ -->
+
+ <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
+ <Connector port="8080" maxHttpHeaderSize="8192"
+ maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+ enableLookups="false" redirectPort="8443" acceptCount="100"
+ connectionTimeout="20000" disableUploadTimeout="true" />
+ <!-- Note : To disable connection timeouts, set connectionTimeout value
+ to 0 -->
+
+ <!-- Note : To use gzip compression you could set the following properties :
+
+ compression="on"
+ compressionMinSize="2048"
+ noCompressionUserAgents="gozilla, traviata"
+ compressableMimeType="text/html,text/xml"
+ -->
+
+ <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
+ <!--
+ <Connector port="8443" maxHttpHeaderSize="8192"
+ maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+ enableLookups="false" disableUploadTimeout="true"
+ acceptCount="100" scheme="https" secure="true"
+ clientAuth="false" sslProtocol="TLS" />
+ -->
+
+ <!-- Define an AJP 1.3 Connector on port 8009 -->
+ <Connector port="8009"
+ enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
+ <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
+ <!-- See proxy documentation for more information about using this. -->
+ <!--
+ <Connector port="8082"
+ maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+ enableLookups="false" acceptCount="100" connectionTimeout="20000"
+ proxyPort="80" disableUploadTimeout="true" />
+ -->
+
+ <!-- An Engine represents the entry point (within Catalina) that processes
+ every request. The Engine implementation for Tomcat stand alone
+ analyzes the HTTP headers included with the request, and passes them
+ on to the appropriate Host (virtual host). -->
+
+ <!-- You should set jvmRoute to support load-balancing via AJP ie :
+ <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
+ -->
+
+ <!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
+
+ <!-- The request dumper valve dumps useful debugging information about
+ the request headers and cookies that were received, and the response
+ headers and cookies that were sent, for all requests received by
+ this instance of Tomcat. If you care only about requests to a
+ particular virtual host, or a particular application, nest this
+ element inside the corresponding <Host> or <Context> entry instead.
+
+ 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").
+
+ Request dumping is disabled by default. Uncomment the following
+ element to enable it. -->
+ <!--
+ <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
+ -->
+
+ <!-- Because this Realm is here, an instance will be shared globally -->
+
+ <!-- This Realm uses the UserDatabase configured in the global JNDI
+ resources under the key "UserDatabase". Any edits
+ that are performed against this UserDatabase are immediately
+ available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
- resourceName="UserDatabase" />
- <Host name="localhost" appBase="webapps" />
+ resourceName="UserDatabase"/>
+
+ <!-- Comment out the old realm but leave here for now in case we
+ need to go back quickly -->
+ <!--
+ <Realm className="org.apache.catalina.realm.MemoryRealm" />
+ -->
+
+ <!-- Replace the above Realm with one of the following to get a Realm
+ stored in a database and accessed via JDBC -->
+
+ <!--
+ <Realm className="org.apache.catalina.realm.JDBCRealm"
+ driverName="org.gjt.mm.mysql.Driver"
+ connectionURL="jdbc:mysql://localhost/authority"
+ connectionName="test" connectionPassword="test"
+ userTable="users" userNameCol="user_name" userCredCol="user_pass"
+ userRoleTable="user_roles" roleNameCol="role_name" />
+ -->
+
+ <!--
+ <Realm className="org.apache.catalina.realm.JDBCRealm"
+ driverName="oracle.jdbc.driver.OracleDriver"
+ connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
+ connectionName="scott" connectionPassword="tiger"
+ userTable="users" userNameCol="user_name" userCredCol="user_pass"
+ userRoleTable="user_roles" roleNameCol="role_name" />
+ -->
+
+ <!--
+ <Realm className="org.apache.catalina.realm.JDBCRealm"
+ driverName="sun.jdbc.odbc.JdbcOdbcDriver"
+ connectionURL="jdbc:odbc:CATALINA"
+ userTable="users" userNameCol="user_name" userCredCol="user_pass"
+ userRoleTable="user_roles" roleNameCol="role_name" />
+ -->
+
+ <!-- Define the default virtual host
+ Note: XML Schema validation will not work with Xerces 2.2.
+ -->
+ <Host name="localhost" appBase="webapps"
+ unpackWARs="true" autoDeploy="true"
+ xmlValidation="false" xmlNamespaceAware="false">
+
+ <!-- Defines a cluster for this node,
+ By defining this element, means that every manager will be changed.
+ So when running a cluster, only make sure that you have webapps in there
+ that need to be clustered and remove the other ones.
+ A cluster has the following parameters:
+
+ className = the fully qualified name of the cluster class
+
+ clusterName = a descriptive name for your cluster, can be anything
+
+ mcastAddr = the multicast address, has to be the same for all the nodes
+
+ mcastPort = the multicast port, has to be the same for all the nodes
+
+ mcastBindAddress = bind the multicast socket to a specific address
+
+ mcastTTL = the multicast TTL if you want to limit your broadcast
+
+ mcastSoTimeout = the multicast readtimeout
+
+ mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
+
+ mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
+
+ tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
+
+ tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
+ in case of multiple ethernet cards.
+ auto means that address becomes
+ InetAddress.getLocalHost().getHostAddress()
+
+ tcpListenPort = the tcp listen port
+
+ tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
+ has a wakup bug in java.nio. Set to 0 for no timeout
+
+ printToScreen = true means that managers will also print to std.out
+
+ expireSessionsOnShutdown = true means that
+
+ useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
+ false means to replicate the session after each request.
+ false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
+ <%
+ HashMap map = (HashMap)session.getAttribute("map");
+ map.put("key","value");
+ %>
+ replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
+ * Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
+ * Synchronous means that the thread that executes the request, is also the
+ thread the replicates the data to the other nodes, and will not return until all
+ nodes have received the information.
+ * Asynchronous means that there is a specific 'sender' thread for each cluster node,
+ so the request thread will queue the replication request into a "smart" queue,
+ and then return to the client.
+ The "smart" queue is a queue where when a session is added to the queue, and the same session
+ already exists in the queue from a previous request, that session will be replaced
+ in the queue instead of replicating two requests. This almost never happens, unless there is a
+ large network delay.
+ -->
+ <!--
+ When configuring for clustering, you also add in a valve to catch all the requests
+ coming in, at the end of the request, the session may or may not be replicated.
+ A session is replicated if and only if all the conditions are met:
+ 1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
+ 2. a session exists (has been created)
+ 3. the request is not trapped by the "filter" attribute
+
+ The filter attribute is to filter out requests that could not modify the session,
+ hence we don't replicate the session after the end of this request.
+ The filter is negative, ie, anything you put in the filter, you mean to filter out,
+ ie, no replication will be done on requests that match one of the filters.
+ The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
+
+ filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
+ ending with .gif and .js are intercepted.
+
+ The deployer element can be used to deploy apps cluster wide.
+ Currently the deployment only deploys/undeploys to working members in the cluster
+ so no WARs are copied upons startup of a broken node.
+ The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
+ When a new war file is added the war gets deployed to the local instance,
+ and then deployed to the other instances in the cluster.
+ When a war file is deleted from the watchDir the war is undeployed locally
+ and cluster wide
+ -->
+
+ <!--
+ <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
+ managerClassName="org.apache.catalina.cluster.session.DeltaManager"
+ expireSessionsOnShutdown="false"
+ useDirtyFlag="true"
+ notifyListenersOnReplication="true">
+
+ <Membership
+ className="org.apache.catalina.cluster.mcast.McastService"
+ mcastAddr="228.0.0.4"
+ mcastPort="45564"
+ mcastFrequency="500"
+ mcastDropTime="3000"/>
+
+ <Receiver
+ className="org.apache.catalina.cluster.tcp.ReplicationListener"
+ tcpListenAddress="auto"
+ tcpListenPort="4001"
+ tcpSelectorTimeout="100"
+ tcpThreadCount="6"/>
+
+ <Sender
+ className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+ replicationMode="pooled"
+ ackTimeout="15000"
+ waitForAck="true"/>
+
+ <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
+ filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
+
+ <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
+ tempDir="/tmp/war-temp/"
+ deployDir="/tmp/war-deploy/"
+ watchDir="/tmp/war-listen/"
+ watchEnabled="false"/>
+
+ <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
+ </Cluster>
+ -->
+
+
+
+ <!-- Normally, users must authenticate themselves to each web app
+ individually. Uncomment the following entry if you would like
+ a user to be authenticated the first time they encounter a
+ resource protected by a security constraint, and then have that
+ user identity maintained across *all* web applications contained
+ in this virtual host. -->
+ <!--
+ <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
+ -->
+
+ <!-- Access log processes all requests for this virtual host. By
+ default, log files are created in the "logs" directory relative to
+ $CATALINA_HOME. If you wish, you can specify a different
+ directory with the "directory" attribute. Specify either a relative
+ (to $CATALINA_HOME) or absolute path to the desired directory.
+ -->
+ <!--
+ <Valve className="org.apache.catalina.valves.AccessLogValve"
+ directory="logs" prefix="localhost_access_log." suffix=".txt"
+ pattern="common" resolveHosts="false"/>
+ -->
+
+ <!-- Access log processes all requests for this virtual host. By
+ default, log files are created in the "logs" directory relative to
+ $CATALINA_HOME. If you wish, you can specify a different
+ directory with the "directory" attribute. Specify either a relative
+ (to $CATALINA_HOME) or absolute path to the desired directory.
+ This access log implementation is optimized for maximum performance,
+ but is hardcoded to support only the "common" and "combined" patterns.
+ -->
+ <!--
+ <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
+ directory="logs" prefix="localhost_access_log." suffix=".txt"
+ pattern="common" resolveHosts="false"/>
+ -->
+
+ </Host>
+
</Engine>
-
+
</Service>
+
</Server>
<project name="Tomcat 6.0" default="release" basedir=".">
- <!-- ===================== Initialize Property Values =================== -->
-
- <!-- See "build.properties.sample" in the top level directory for all -->
- <!-- property values you must customize for successful building!!! -->
- <property file="${user.home}/build.properties"/>
- <property file="build.properties"/>
-
- <property file="build.properties.default"/>
-
- <!-- Project Properties -->
- <property name="name" value="Apache Tomcat" />
- <property name="year" value="2005" />
- <property name="version.major" value="6" />
- <property name="version.minor" value="0" />
- <property name="version.build" value="0" />
- <property name="version.patch" value="0" />
- <property name="version" value="6.0.0-dev" />
- <property name="version.number" value="${version.major}.${version.minor}.${version.build}.${version.patch}" />
-
- <property name="project" value="apache-tomcat" />
- <property name="final.name" value="${project}-${version}" />
- <property name="final-src.name" value="${project}-${version}-src" />
-
- <!-- Build Defaults -->
- <property name="tomcat.build" value="${basedir}/build"/>
- <property name="tomcat.classes" value="${basedir}/classes"/>
- <property name="tomcat.dist" value="${basedir}/dist"/>
- <property name="tomcat.deployer" value="${basedir}/deployer"/>
- <property name="tomcat.release" value="${basedir}/release"/>
- <property name="test.failonerror" value="true"/>
- <property name="test.runner" value="junit.textui.TestRunner"/>
-
- <!-- Can't be lower - jsp uses templates -->
- <property name="compile.source" value="1.5"/>
-
- <!-- JAR artifacts -->
- <property name="bootstrap.jar" value="${tomcat.build}/bin/bootstrap.jar"/>
-
- <property name="annotations-api.jar" value="${tomcat.build}/lib/annotations-api.jar"/>
- <property name="servlet-api.jar" value="${tomcat.build}/lib/servlet-api.jar"/>
- <property name="jsp-api.jar" value="${tomcat.build}/lib/jsp-api.jar"/>
- <property name="el-api.jar" value="${tomcat.build}/lib/el-api.jar"/>
- <property name="catalina.jar" value="${tomcat.build}/lib/catalina.jar"/>
- <property name="catalina-ant.jar" value="${tomcat.build}/lib/catalina-ant.jar"/>
- <property name="catalina-ant-jmx.jar" value="${tomcat.build}/lib/catalina-ant-jmx.jar"/>
- <property name="tomcat-coyote.jar" value="${tomcat.build}/lib/tomcat-coyote.jar"/>
-
- <property name="jasper.jar" value="${tomcat.build}/lib/jasper.jar"/>
- <property name="jasper-el.jar" value="${tomcat.build}/lib/jasper-el.jar"/>
-
- <property name="tomcat-dbcp.home" value="${base.path}/tomcat6-deps/dbcp" />
- <property name="jasper-jdt.home" value="${base.path}/tomcat6-deps/jdt" />
- <property name="tomcat-dbcp.jar" value="${tomcat-dbcp.home}/tomcat-dbcp.jar"/>
- <property name="jasper-jdt.jar" value="${jasper-jdt.home}/jasper-jdt.jar"/>
-
+ <!-- ===================== Initialize Property Values =================== -->
+
+ <!-- See "build.properties.sample" in the top level directory for all -->
+ <!-- property values you must customize for successful building!!! -->
+ <property file="${user.home}/build.properties"/>
+ <property file="build.properties"/>
+
+ <property file="build.properties.default"/>
+
+ <!-- Project Properties -->
+ <property name="name" value="Apache Tomcat" />
+ <property name="year" value="2006" />
+ <property name="version.major" value="6" />
+ <property name="version.minor" value="0" />
+ <property name="version.build" value="0" />
+ <property name="version.patch" value="0" />
+ <property name="version" value="6.0.0-dev" />
+ <property name="version.number" value="${version.major}.${version.minor}.${version.build}.${version.patch}" />
+
+ <property name="project" value="apache-tomcat" />
+ <property name="final.name" value="${project}-${version}" />
+ <property name="final-src.name" value="${project}-${version}-src" />
+
+ <!-- Build Defaults -->
+ <property name="tomcat.build" value="${basedir}/output/build"/>
+ <property name="tomcat.classes" value="${basedir}/output/classes"/>
+ <property name="tomcat.dist" value="${basedir}/output/dist"/>
+ <property name="tomcat.deployer" value="${basedir}/output/deployer"/>
+ <property name="tomcat.release" value="${basedir}/output/release"/>
+ <property name="test.failonerror" value="true"/>
+ <property name="test.runner" value="junit.textui.TestRunner"/>
+
+ <!-- Can't be lower - jsp uses templates -->
+ <property name="compile.source" value="1.5"/>
+
+ <!-- JAR artifacts -->
+ <property name="bootstrap.jar" value="${tomcat.build}/bin/bootstrap.jar"/>
+
+ <property name="annotations-api.jar" value="${tomcat.build}/lib/annotations-api.jar"/>
+ <property name="servlet-api.jar" value="${tomcat.build}/lib/servlet-api.jar"/>
+ <property name="jsp-api.jar" value="${tomcat.build}/lib/jsp-api.jar"/>
+ <property name="el-api.jar" value="${tomcat.build}/lib/el-api.jar"/>
+ <property name="catalina.jar" value="${tomcat.build}/lib/catalina.jar"/>
+ <property name="catalina-ant.jar" value="${tomcat.build}/lib/catalina-ant.jar"/>
+ <property name="catalina-ant-jmx.jar" value="${tomcat.build}/lib/catalina-ant-jmx.jar"/>
+ <property name="tomcat-coyote.jar" value="${tomcat.build}/lib/tomcat-coyote.jar"/>
+
+ <property name="jasper.jar" value="${tomcat.build}/lib/jasper.jar"/>
+ <property name="jasper-el.jar" value="${tomcat.build}/lib/jasper-el.jar"/>
+
+ <property name="tomcat-dbcp.home" value="${base.path}/tomcat6-deps/dbcp" />
+ <property name="jasper-jdt.home" value="${base.path}/tomcat6-deps/jdt" />
+ <property name="tomcat-dbcp.jar" value="${tomcat-dbcp.home}/tomcat-dbcp.jar"/>
+ <property name="jasper-jdt.jar" value="${jasper-jdt.home}/jasper-jdt.jar"/>
<target name="build-webapps-precompile" description="Precompile webapps" >
<delete dir="${tomcat.deployer}"/>
<delete dir="${tomcat.dist}" failonerror="false"/>
+ <!-- This is why releasing must be done on a Windows box:
+ otherwise this check fails and the .exe distro is not generated -->
+ <condition property="execute.installer">
+ <and>
+ <os family="windows" />
+ <available file="${nsis.exe}" />
+ <available file="${nsis.installoptions.dll}" />
+ <available file="${nsis.nsexec.dll}" />
+ <available file="${nsis.nsisdl.dll}" />
+ </and>
+ </condition>
+
</target>
description="Create Windows installer" if="execute.installer">
<echo message="Builds a Windows installer based on Nullsoft Installer"/>
<copy todir="${tomcat.dist}">
- <fileset dir="resources" />
+ <fileset dir="res" />
</copy>
<copy file="${nsis.installoptions.dll}" todir="${tomcat.dist}" />
<copy file="${nsis.nsexec.dll}" todir="${tomcat.dist}" />
<copy file="${nsis.nsisdl.dll}" todir="${tomcat.dist}" />
- <copy file="${jtc.home}/procrun/bin/tomcat5.exe"
- tofile="${tomcat.dist}/bin/tomcat5.exe" />
- <copy file="${jtc.home}/procrun/bin/tomcat5w.exe"
- tofile="${tomcat.dist}/bin/tomcat5w.exe" />
+ <copy file="res/procrun/tomcat6.exe"
+ tofile="${tomcat.dist}/bin/tomcat6.exe" />
+ <copy file="res/procrun/tomcat6w.exe"
+ tofile="${tomcat.dist}/bin/tomcat6w.exe" />
<filter token="VERSION" value="${version}"/>
<filter token="VERSION_NUMBER" value="${version.number}"/>
- <copy file="tomcat.nsi" tofile="${tomcat.dist}/tomcat.nsi" filtering="true"/>
+ <copy file="res/tomcat.nsi" tofile="${tomcat.dist}/tomcat.nsi" filtering="true" overwrite="true"/>
<exec dir="${tomcat.dist}" executable="${nsis.exe}">
<arg value="/DNSISDIR=${nsis.home}" />
<arg value="tomcat.nsi" />
<copy file="res/welcome.bin.html"
tofile="${tomcat.release}/v${version}/bin/README.html"
filtering="true"/>
-
- <!-- This is why releasing must be done on a Windows box:
- otherwise this check fails and the .exe distro is not generated -->
- <condition property="execute.installer">
- <and>
- <os family="windows" />
- <available file="${nsis.exe}" />
- <available file="${nsis.installoptions.dll}" />
- <available file="${nsis.nsexec.dll}" />
- <available file="${nsis.nsisdl.dll}" />
- </and>
- </condition>
+ <mkdir dir="${tomcat.release}/v${version}/src" />
</target>
--- /dev/null
+ Apache License\r
+ Version 2.0, January 2004\r
+ http://www.apache.org/licenses/\r
+\r
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\r
+\r
+ 1. Definitions.\r
+\r
+ "License" shall mean the terms and conditions for use, reproduction,\r
+ and distribution as defined by Sections 1 through 9 of this document.\r
+\r
+ "Licensor" shall mean the copyright owner or entity authorized by\r
+ the copyright owner that is granting the License.\r
+\r
+ "Legal Entity" shall mean the union of the acting entity and all\r
+ other entities that control, are controlled by, or are under common\r
+ control with that entity. For the purposes of this definition,\r
+ "control" means (i) the power, direct or indirect, to cause the\r
+ direction or management of such entity, whether by contract or\r
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the\r
+ outstanding shares, or (iii) beneficial ownership of such entity.\r
+\r
+ "You" (or "Your") shall mean an individual or Legal Entity\r
+ exercising permissions granted by this License.\r
+\r
+ "Source" form shall mean the preferred form for making modifications,\r
+ including but not limited to software source code, documentation\r
+ source, and configuration files.\r
+\r
+ "Object" form shall mean any form resulting from mechanical\r
+ transformation or translation of a Source form, including but\r
+ not limited to compiled object code, generated documentation,\r
+ and conversions to other media types.\r
+\r
+ "Work" shall mean the work of authorship, whether in Source or\r
+ Object form, made available under the License, as indicated by a\r
+ copyright notice that is included in or attached to the work\r
+ (an example is provided in the Appendix below).\r
+\r
+ "Derivative Works" shall mean any work, whether in Source or Object\r
+ form, that is based on (or derived from) the Work and for which the\r
+ editorial revisions, annotations, elaborations, or other modifications\r
+ represent, as a whole, an original work of authorship. For the purposes\r
+ of this License, Derivative Works shall not include works that remain\r
+ separable from, or merely link (or bind by name) to the interfaces of,\r
+ the Work and Derivative Works thereof.\r
+\r
+ "Contribution" shall mean any work of authorship, including\r
+ the original version of the Work and any modifications or additions\r
+ to that Work or Derivative Works thereof, that is intentionally\r
+ submitted to Licensor for inclusion in the Work by the copyright owner\r
+ or by an individual or Legal Entity authorized to submit on behalf of\r
+ the copyright owner. For the purposes of this definition, "submitted"\r
+ means any form of electronic, verbal, or written communication sent\r
+ to the Licensor or its representatives, including but not limited to\r
+ communication on electronic mailing lists, source code control systems,\r
+ and issue tracking systems that are managed by, or on behalf of, the\r
+ Licensor for the purpose of discussing and improving the Work, but\r
+ excluding communication that is conspicuously marked or otherwise\r
+ designated in writing by the copyright owner as "Not a Contribution."\r
+\r
+ "Contributor" shall mean Licensor and any individual or Legal Entity\r
+ on behalf of whom a Contribution has been received by Licensor and\r
+ subsequently incorporated within the Work.\r
+\r
+ 2. Grant of Copyright License. Subject to the terms and conditions of\r
+ this License, each Contributor hereby grants to You a perpetual,\r
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable\r
+ copyright license to reproduce, prepare Derivative Works of,\r
+ publicly display, publicly perform, sublicense, and distribute the\r
+ Work and such Derivative Works in Source or Object form.\r
+\r
+ 3. Grant of Patent License. Subject to the terms and conditions of\r
+ this License, each Contributor hereby grants to You a perpetual,\r
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable\r
+ (except as stated in this section) patent license to make, have made,\r
+ use, offer to sell, sell, import, and otherwise transfer the Work,\r
+ where such license applies only to those patent claims licensable\r
+ by such Contributor that are necessarily infringed by their\r
+ Contribution(s) alone or by combination of their Contribution(s)\r
+ with the Work to which such Contribution(s) was submitted. If You\r
+ institute patent litigation against any entity (including a\r
+ cross-claim or counterclaim in a lawsuit) alleging that the Work\r
+ or a Contribution incorporated within the Work constitutes direct\r
+ or contributory patent infringement, then any patent licenses\r
+ granted to You under this License for that Work shall terminate\r
+ as of the date such litigation is filed.\r
+\r
+ 4. Redistribution. You may reproduce and distribute copies of the\r
+ Work or Derivative Works thereof in any medium, with or without\r
+ modifications, and in Source or Object form, provided that You\r
+ meet the following conditions:\r
+\r
+ (a) You must give any other recipients of the Work or\r
+ Derivative Works a copy of this License; and\r
+\r
+ (b) You must cause any modified files to carry prominent notices\r
+ stating that You changed the files; and\r
+\r
+ (c) You must retain, in the Source form of any Derivative Works\r
+ that You distribute, all copyright, patent, trademark, and\r
+ attribution notices from the Source form of the Work,\r
+ excluding those notices that do not pertain to any part of\r
+ the Derivative Works; and\r
+\r
+ (d) If the Work includes a "NOTICE" text file as part of its\r
+ distribution, then any Derivative Works that You distribute must\r
+ include a readable copy of the attribution notices contained\r
+ within such NOTICE file, excluding those notices that do not\r
+ pertain to any part of the Derivative Works, in at least one\r
+ of the following places: within a NOTICE text file distributed\r
+ as part of the Derivative Works; within the Source form or\r
+ documentation, if provided along with the Derivative Works; or,\r
+ within a display generated by the Derivative Works, if and\r
+ wherever such third-party notices normally appear. The contents\r
+ of the NOTICE file are for informational purposes only and\r
+ do not modify the License. You may add Your own attribution\r
+ notices within Derivative Works that You distribute, alongside\r
+ or as an addendum to the NOTICE text from the Work, provided\r
+ that such additional attribution notices cannot be construed\r
+ as modifying the License.\r
+\r
+ You may add Your own copyright statement to Your modifications and\r
+ may provide additional or different license terms and conditions\r
+ for use, reproduction, or distribution of Your modifications, or\r
+ for any such Derivative Works as a whole, provided Your use,\r
+ reproduction, and distribution of the Work otherwise complies with\r
+ the conditions stated in this License.\r
+\r
+ 5. Submission of Contributions. Unless You explicitly state otherwise,\r
+ any Contribution intentionally submitted for inclusion in the Work\r
+ by You to the Licensor shall be under the terms and conditions of\r
+ this License, without any additional terms or conditions.\r
+ Notwithstanding the above, nothing herein shall supersede or modify\r
+ the terms of any separate license agreement you may have executed\r
+ with Licensor regarding such Contributions.\r
+\r
+ 6. Trademarks. This License does not grant permission to use the trade\r
+ names, trademarks, service marks, or product names of the Licensor,\r
+ except as required for reasonable and customary use in describing the\r
+ origin of the Work and reproducing the content of the NOTICE file.\r
+\r
+ 7. Disclaimer of Warranty. Unless required by applicable law or\r
+ agreed to in writing, Licensor provides the Work (and each\r
+ Contributor provides its Contributions) on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\r
+ implied, including, without limitation, any warranties or conditions\r
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\r
+ PARTICULAR PURPOSE. You are solely responsible for determining the\r
+ appropriateness of using or redistributing the Work and assume any\r
+ risks associated with Your exercise of permissions under this License.\r
+\r
+ 8. Limitation of Liability. In no event and under no legal theory,\r
+ whether in tort (including negligence), contract, or otherwise,\r
+ unless required by applicable law (such as deliberate and grossly\r
+ negligent acts) or agreed to in writing, shall any Contributor be\r
+ liable to You for damages, including any direct, indirect, special,\r
+ incidental, or consequential damages of any character arising as a\r
+ result of this License or out of the use or inability to use the\r
+ Work (including but not limited to damages for loss of goodwill,\r
+ work stoppage, computer failure or malfunction, or any and all\r
+ other commercial damages or losses), even if such Contributor\r
+ has been advised of the possibility of such damages.\r
+\r
+ 9. Accepting Warranty or Additional Liability. While redistributing\r
+ the Work or Derivative Works thereof, You may choose to offer,\r
+ and charge a fee for, acceptance of support, warranty, indemnity,\r
+ or other liability obligations and/or rights consistent with this\r
+ License. However, in accepting such obligations, You may act only\r
+ on Your own behalf and on Your sole responsibility, not on behalf\r
+ of any other Contributor, and only if You agree to indemnify,\r
+ defend, and hold each Contributor harmless for any liability\r
+ incurred by, or claims asserted against, such Contributor by reason\r
+ of your accepting any such warranty or additional liability.\r
+\r
+ END OF TERMS AND CONDITIONS\r
+\r
+ APPENDIX: How to apply the Apache License to your work.\r
+\r
+ To apply the Apache License to your work, attach the following\r
+ boilerplate notice, with the fields enclosed by brackets "[]"\r
+ replaced with your own identifying information. (Don't include\r
+ the brackets!) The text should be enclosed in the appropriate\r
+ comment syntax for the file format. We also recommend that a\r
+ file or class name and description of purpose be included on the\r
+ same "printed page" as the copyright notice for easier\r
+ identification within third-party archives.\r
+\r
+ Copyright [yyyy] [name of copyright owner]\r
+\r
+ Licensed under the Apache License, Version 2.0 (the "License");\r
+ you may not use this file except in compliance with the License.\r
+ You may obtain a copy of the License at\r
+\r
+ http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+ Unless required by applicable law or agreed to in writing, software\r
+ distributed under the License is distributed on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ See the License for the specific language governing permissions and\r
+ limitations under the License.\r
--- /dev/null
+{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}}
+\viewkind4\uc1\pard\qc\lang1033\b\f0\fs18 Apache License\par
+Version 2.0, January 2004\par
+http://www.apache.org/licenses/\par
+\b0\par
+\pard TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\par
+\par
+\pard\fi-180\li180 1. Definitions.\par
+\par
+\pard\li180 "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.\par
+\par
+"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.\par
+\par
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\par
+\par
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.\par
+\par
+"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.\par
+\par
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.\par
+\par
+"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).\par
+\par
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.\par
+\par
+"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."\par
+\par
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.\par
+\pard\par
+\pard\fi-180\li180 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.\par
+\par
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.\par
+\par
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:\par
+\pard\par
+\pard\fi-270\li450 (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and\par
+\par
+(b) You must cause any modified files to carry prominent notices stating that You changed the files; and\par
+\par
+(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and\par
+\par
+(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.\par
+\pard\par
+\pard\li180 You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.\par
+\pard\par
+\pard\fi-180\li180 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.\par
+\par
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.\par
+\par
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.\par
+\par
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.\par
+\par
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.\par
+\pard\par
+END OF TERMS AND CONDITIONS\par
+\par
+APPENDIX: How to apply the Apache License to your work.\par
+\par
+To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.\par
+\par
+\pard\li180 Copyright [yyyy] [name of copyright owner]\par
+\par
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at\par
+\par
+\pard\li360 http://www.apache.org/licenses/LICENSE-2.0\par
+\pard\li180\par
+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.\par
+\pard\par
+\par
+\b APACHE HTTP SERVER SUBCOMPONENTS: \par
+\par
+\b0 The Apache HTTP Server includes a number of subcomponents with\par
+separate copyright notices and license terms. Your use of the source\par
+code for the these subcomponents is subject to the terms and\par
+conditions of the following licenses. \par
+\par
+\b For the mod_mime_magic component:\par
+\par
+\b0 mod_mime_magic: MIME type lookup via file magic numbers\par
+Copyright (c) 1996-1997 Cisco Systems, Inc.\par
+\par
+This software was submitted by Cisco Systems to the Apache Group in July 1997. Future revisions and derivatives of this source code must acknowledge Cisco Systems as the original contributor of this module. All other licensing and usage conditions are those of the Apache Group.\par
+\par
+Some of this code is derived from the free version of the file command originally posted to comp.sources.unix. Copyright info for that program is included below as required.\par
+\par
+Copyright (c) Ian F. Darwin, 1987. Written by Ian F. Darwin.\par
+\par
+This software is not subject to any license of the American Telephone and Telegraph Company or of the Regents of the University of California.\par
+\par
+Permission is granted to anyone to use this software for any purpose on any computer system, and to alter it and redistribute it freely, subject to the following restrictions:\par
+\par
+1. The author is not responsible for the consequences of use of this software, no matter how awful, even if they arise from flaws in it.\par
+\par
+2. The origin of this software must not be misrepresented, either by explicit claim or by omission. Since few users ever read sources, credits must appear in the documentation.\par
+\par
+3. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software. Since few users ever read sources, credits must appear in the documentation.\par
+\par
+4. This notice may not be removed or altered.\par
+\par
+\par
+\b For the modules\\mappers\\mod_imap.c component:\par
+\par
+\b0 "macmartinized" polygon code copyright 1992 by Eric Haines, erich@eye.com\par
+\par
+\par
+\b For the server\\util_md5.c component:\par
+\par
+\b0 NCSA HTTPd Server\par
+Software Development Group\par
+National Center for Supercomputing Applications\par
+University of Illinois at Urbana-Champaign\par
+605 E. Springfield, Champaign, IL 61820\par
+httpd@ncsa.uiuc.edu\par
+\par
+Copyright (C) 1995, Board of Trustees of the University of Illinois\par
+\par
+md5.c: NCSA HTTPd code which uses the md5c.c RSA Code\par
+\par
+Original Code Copyright (C) 1994, Jeff Hostetler, Spyglass, Inc.\par
+Portions of Content-MD5 code Copyright (C) 1993, 1994 by Carnegie Mellon University (see Copyright below).\par
+Portions of Content-MD5 code Copyright (C) 1991 Bell Communications Research, Inc. (Bellcore) (see Copyright below).\par
+Portions extracted from mpack, John G. Myers - jgm+@cmu.edu\par
+Content-MD5 Code contributed by Martin Hamilton (martin@net.lut.ac.uk)\par
+\par
+these portions extracted from mpack, John G. Myers - jgm+@cmu.edu\par
+(C) Copyright 1993,1994 by Carnegie Mellon University All Rights Reserved.\par
+\par
+Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Carnegie Mellon University not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Carnegie Mellon University makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.\par
+\par
+CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS\par
+SOFTWARE.\par
+\par
+Copyright (c) 1991 Bell Communications Research, Inc. (Bellcore)\par
+\par
+Permission to use, copy, modify, and distribute this material for any purpose and without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies, and that the name of Bellcore not be used in advertising or publicity pertaining to this material without the specific, prior written permission of an authorized representative of Bellcore.\par
+\par
+BELLCORE MAKES NO REPRESENTATIONS ABOUT THE ACCURACY OR SUITABILITY OF THIS MATERIAL FOR ANY PURPOSE. IT IS PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.\par
+\par
+\par
+\b For the srclib\\apr\\passwd\\apr_md5.c and srclib\\apr\\include\\apr_md5.h components:\par
+\par
+\pard\b0 This is derived from material copyright RSA Data Security, Inc. Their notice is reproduced below in its entirety.\par
+\pard\par
+Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.\par
+\par
+License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function.\par
+\par
+License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work.\par
+\par
+RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind.\par
+\par
+These notices must be retained in any copies of any part of this documentation and/or software.\par
+\par
+The apr_md5_encode() routine uses much code obtained from the FreeBSD 3.0 MD5 crypt() function, which is licenced as follows:\par
+\par
+"THE BEER-WARE LICENSE" (Revision 42):\par
+<phk@login.dknet.dk> wrote this file. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp\par
+\par
+\par
+\b For the srclib\\apr-util\\crypto\\apr_md4.c and srclib\\apr-util\\include\\apr_md4.h components:\par
+\par
+\b0 This is derived from material copyright RSA Data Security, Inc. Their notice is reproduced below in its entirety.\par
+\par
+Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.\par
+\par
+License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD4 Message-Digest Algorithm" in all material mentioning or referencing this software or this function.\par
+\par
+License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD4 Message-Digest Algorithm" in all material mentioning or referencing the derived work.\par
+\par
+RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind.\par
+\par
+These notices must be retained in any copies of any part of this documentation and/or software.\par
+\par
+\par
+\b For the srclib\\apr-util\\xml\\expat\\conftools\\install-sh and srclib\\pcre\\install-sh components:\par
+\par
+\b0 Copyright 1991 by the Massachusetts Institute of Technology\par
+\par
+Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.\par
+\par
+\b\par
+For the pcre component:\par
+\par
+\b0 PCRE LICENCE\par
+------------\par
+\par
+PCRE is a library of functions to support regular expressions whose syntax and semantics are as close as possible to those of the Perl 5 language.\par
+\par
+Written by: Philip Hazel <ph10@cam.ac.uk>\par
+\par
+University of Cambridge Computing Service,\par
+Cambridge, England. Phone: +44 1223 334714.\par
+\par
+Copyright (c) 1997-2001 University of Cambridge\par
+\par
+Permission is granted to anyone to use this software for any purpose on any computer system, and to redistribute it freely, subject to the following restrictions:\par
+\par
+\pard\fi-180\li180 1. This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\par
+\pard\li180\par
+\pard\fi-180\li180 2. The origin of this software must not be misrepresented, either by explicit claim or by omission. In practice, this means that if you use PCRE in software which you distribute to others, commercially or otherwise, you must put a sentence like this\par
+\pard\li180\par
+\pard\li360 Regular expression support is provided by the PCRE library package, which is open source software, written by Philip Hazel, and copyright by the University of Cambridge, England.\par
+\pard\li180\par
+somewhere reasonably visible in your documentation and in any relevant files or online help data or similar. A reference to the ftp site for the source, that is, to\par
+\par
+\pard\li360 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/\par
+\pard\li180\par
+should also be given in the documentation.\par
+\par
+\pard\fi-180\li180 3. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software.\par
+\pard\li180\par
+\pard\fi-180\li180 4. If PCRE is embedded in any software that is released under the GNU General Purpose Licence (GPL), or Lesser General Purpose Licence (LGPL), then the terms of that licence shall supersede any condition above with which it is incompatible.\par
+\pard\par
+The documentation for PCRE, supplied in the "doc" directory, is distributed under the same terms as the software itself.\par
+\par
+End PCRE LICENCE\par
+\par
+\par
+\b For the test\\zb.c component:\par
+\b0\par
+ZeusBench V1.01\par
+===============\par
+\par
+This program is Copyright (C) Zeus Technology Limited 1996.\par
+\par
+This program may be used and copied freely providing this copyright notice is not removed.\par
+\par
+This software is provided "as is" and any express or implied waranties, including but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall Zeus Technology Ltd. be liable for any direct, indirect, incidental, special, exemplary, or consequential damaged (including, but not limited to, procurement of substitute good or services; loss of use, data, or profits; or business interruption) however caused and on theory of liability. Whether in contract, strict liability or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.\par
+\par
+ Written by Adam Twiss (adam@zeus.co.uk). March 1996\par
+\par
+Thanks to the following people for their input:\par
+ Mike Belshe (mbelshe@netscape.com) \par
+ Michael Campanella (campanella@stevms.enet.dec.com)\par
+\par
+\b\par
+For the expat xml parser component:\par
+\b0\par
+Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper\par
+\par
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\par
+\par
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\par
+\tab\par
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\par
+\par
+\b\par
+For the mod_deflate zlib compression component:\par
+\par
+\b0 (C) 1995-2002 Jean-loup Gailly and Mark Adler\par
+\par
+This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.\par
+\par
+Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:\par
+\par
+\pard\fi-180\li180 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.\par
+2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.\par
+3. This notice may not be removed or altered from any source distribution.\par
+\pard\par
+Jean-loup Gailly\tab Mark Adler\par
+jloup@gzip.org\tab madler@alumni.caltech.edu\par
+\par
+\par
+}
+\0
\ No newline at end of file
--- /dev/null
+[Settings]\r
+NumFields=7\r
+\r
+[Field 1]\r
+Type=Label\r
+Text=HTTP/1.1 Connector Port\r
+left=0\r
+right=150\r
+top=5\r
+bottom=20\r
+\r
+[Field 2]\r
+Type=Text\r
+State=8080\r
+MaxLen=5\r
+left=150\r
+right=200\r
+top=5\r
+bottom=18\r
+\r
+[Field 3]\r
+Type=Label\r
+text=Administrator Login\r
+left=0\r
+right=300\r
+top=30\r
+bottom=45\r
+\r
+[Field 4]\r
+Type=Label\r
+Text=User Name\r
+left=0\r
+right=150\r
+top=50\r
+bottom=65\r
+\r
+[Field 5]\r
+Type=Text\r
+State=admin\r
+left=150\r
+right=250\r
+top=50\r
+bottom=63\r
+\r
+[Field 6]\r
+Type=Label\r
+Text=Password\r
+left=0\r
+right=150\r
+top=70\r
+bottom=85\r
+\r
+[Field 7]\r
+Type=Password\r
+left=150\r
+right=250\r
+top=70\r
+bottom=83\r
+\r
--- /dev/null
+<!-- Example Server Configuration File -->
+<!-- Note that component elements are nested corresponding to their
+ parent-child relationships with each other -->
+
+<!-- A "Server" is a singleton element that represents the entire JVM,
+ which may contain one or more "Service" instances. The Server
+ listens for a shutdown command on the indicated port.
+
+ Note: A "Server" is not itself a "Container", so you may not
+ define subcomponents such as "Valves" or "Loggers" at this level.
+ -->
+
+<Server port="8005" shutdown="SHUTDOWN">
+
+ <!-- Comment these entries out to disable JMX MBeans support used for the
+ administration web application -->
+ <Listener className="org.apache.catalina.core.AprLifecycleListener" />
+ <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
+ <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
+ <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
+
+ <!-- Global JNDI resources -->
+ <GlobalNamingResources>
+
+ <!-- Test entry for demonstration purposes -->
+ <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
+
+ <!-- Editable user database that can also be used by
+ UserDatabaseRealm to authenticate users -->
+ <Resource name="UserDatabase" auth="Container"
+ type="org.apache.catalina.UserDatabase"
+ description="User database that can be updated and saved"
+ factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+ pathname="conf/tomcat-users.xml" />
+
+ </GlobalNamingResources>
+
+ <!-- A "Service" is a collection of one or more "Connectors" that share
+ a single "Container" (and therefore the web applications visible
+ within that Container). Normally, that Container is an "Engine",
+ but this is not required.
+
+ Note: A "Service" is not itself a "Container", so you may not
+ define subcomponents such as "Valves" or "Loggers" at this level.
+ -->
+
+ <!-- Define the Tomcat Stand-Alone Service -->
+ <Service name="Catalina">
+
+ <!-- A "Connector" represents an endpoint by which requests are received
+ and responses are returned. Each Connector passes requests on to the
+ associated "Container" (normally an Engine) for processing.
+
+ By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
+ You can also enable an SSL HTTP/1.1 Connector on port 8443 by
+ following the instructions below and uncommenting the second Connector
+ entry. SSL support requires the following steps (see the SSL Config
+ HOWTO in the Tomcat 5 documentation bundle for more detailed
+ instructions):
+ * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
+ later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
+ * Execute:
+ %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
+ $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
+ with a password value of "changeit" for both the certificate and
+ the keystore itself.
+
+ By default, DNS lookups are enabled when a web application calls
+ request.getRemoteHost(). This can have an adverse impact on
+ performance, so you can disable it by setting the
+ "enableLookups" attribute to "false". When DNS lookups are disabled,
+ request.getRemoteHost() will return the String version of the
+ IP address of the remote client.
+ -->
+
+ <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
+ <Connector
--- /dev/null
+ maxHttpHeaderSize="8192"
+ maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+ enableLookups="false" redirectPort="8443" acceptCount="100"
+ connectionTimeout="20000" disableUploadTimeout="true" />
+ <!-- Note : To disable connection timeouts, set connectionTimeout value
+ to 0 -->
+
+ <!-- Note : To use gzip compression you could set the following properties :
+
+ compression="on"
+ compressionMinSize="2048"
+ noCompressionUserAgents="gozilla, traviata"
+ compressableMimeType="text/html,text/xml"
+ -->
+
+ <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
+ <!--
+ <Connector port="8443" maxHttpHeaderSize="8192"
+ maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+ enableLookups="false" disableUploadTimeout="true"
+ acceptCount="100" scheme="https" secure="true"
+ clientAuth="false" sslProtocol="TLS" />
+ -->
+
+ <!-- Define an AJP 1.3 Connector on port 8009 -->
+ <Connector port="8009"
+ enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
+
+ <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
+ <!-- See proxy documentation for more information about using this. -->
+ <!--
+ <Connector port="8082"
+ maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+ enableLookups="false" acceptCount="100" connectionTimeout="20000"
+ proxyPort="80" disableUploadTimeout="true" />
+ -->
+
+ <!-- An Engine represents the entry point (within Catalina) that processes
+ every request. The Engine implementation for Tomcat stand alone
+ analyzes the HTTP headers included with the request, and passes them
+ on to the appropriate Host (virtual host). -->
+
+ <!-- You should set jvmRoute to support load-balancing via AJP ie :
+ <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
+ -->
+
+ <!-- Define the top level container in our container hierarchy -->
+ <Engine name="Catalina" defaultHost="localhost">
+
+ <!-- The request dumper valve dumps useful debugging information about
+ the request headers and cookies that were received, and the response
+ headers and cookies that were sent, for all requests received by
+ this instance of Tomcat. If you care only about requests to a
+ particular virtual host, or a particular application, nest this
+ element inside the corresponding <Host> or <Context> entry instead.
+
+ 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").
+
+ Request dumping is disabled by default. Uncomment the following
+ element to enable it. -->
+ <!--
+ <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
+ -->
+
+ <!-- Because this Realm is here, an instance will be shared globally -->
+
+ <!-- This Realm uses the UserDatabase configured in the global JNDI
+ resources under the key "UserDatabase". Any edits
+ that are performed against this UserDatabase are immediately
+ available for use by the Realm. -->
+ <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
+ resourceName="UserDatabase"/>
+
+ <!-- Comment out the old realm but leave here for now in case we
+ need to go back quickly -->
+ <!--
+ <Realm className="org.apache.catalina.realm.MemoryRealm" />
+ -->
+
+ <!-- Replace the above Realm with one of the following to get a Realm
+ stored in a database and accessed via JDBC -->
+
+ <!--
+ <Realm className="org.apache.catalina.realm.JDBCRealm"
+ driverName="org.gjt.mm.mysql.Driver"
+ connectionURL="jdbc:mysql://localhost/authority"
+ connectionName="test" connectionPassword="test"
+ userTable="users" userNameCol="user_name" userCredCol="user_pass"
+ userRoleTable="user_roles" roleNameCol="role_name" />
+ -->
+
+ <!--
+ <Realm className="org.apache.catalina.realm.JDBCRealm"
+ driverName="oracle.jdbc.driver.OracleDriver"
+ connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
+ connectionName="scott" connectionPassword="tiger"
+ userTable="users" userNameCol="user_name" userCredCol="user_pass"
+ userRoleTable="user_roles" roleNameCol="role_name" />
+ -->
+
+ <!--
+ <Realm className="org.apache.catalina.realm.JDBCRealm"
+ driverName="sun.jdbc.odbc.JdbcOdbcDriver"
+ connectionURL="jdbc:odbc:CATALINA"
+ userTable="users" userNameCol="user_name" userCredCol="user_pass"
+ userRoleTable="user_roles" roleNameCol="role_name" />
+ -->
+
+ <!-- Define the default virtual host
+ Note: XML Schema validation will not work with Xerces 2.2.
+ -->
+ <Host name="localhost" appBase="webapps"
+ unpackWARs="true" autoDeploy="true"
+ xmlValidation="false" xmlNamespaceAware="false">
+
+ <!-- Defines a cluster for this node,
+ By defining this element, means that every manager will be changed.
+ So when running a cluster, only make sure that you have webapps in there
+ that need to be clustered and remove the other ones.
+ A cluster has the following parameters:
+
+ className = the fully qualified name of the cluster class
+
+ name = a descriptive name for your cluster, can be anything
+
+ mcastAddr = the multicast address, has to be the same for all the nodes
+
+ mcastPort = the multicast port, has to be the same for all the nodes
+
+ mcastBindAddr = bind the multicast socket to a specific address
+
+ mcastTTL = the multicast TTL if you want to limit your broadcast
+
+ mcastSoTimeout = the multicast readtimeout
+
+ mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
+
+ mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
+
+ tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
+
+ tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
+ in case of multiple ethernet cards.
+ auto means that address becomes
+ InetAddress.getLocalHost().getHostAddress()
+
+ tcpListenPort = the tcp listen port
+
+ tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
+ has a wakup bug in java.nio. Set to 0 for no timeout
+
+ printToScreen = true means that managers will also print to std.out
+
+ expireSessionsOnShutdown = true means that
+
+ useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
+ false means to replicate the session after each request.
+ false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
+ <%
+ HashMap map = (HashMap)session.getAttribute("map");
+ map.put("key","value");
+ %>
+ replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
+ * Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
+ * Synchronous means that the thread that executes the request, is also the
+ thread the replicates the data to the other nodes, and will not return until all
+ nodes have received the information.
+ * Asynchronous means that there is a specific 'sender' thread for each cluster node,
+ so the request thread will queue the replication request into a "smart" queue,
+ and then return to the client.
+ The "smart" queue is a queue where when a session is added to the queue, and the same session
+ already exists in the queue from a previous request, that session will be replaced
+ in the queue instead of replicating two requests. This almost never happens, unless there is a
+ large network delay.
+ -->
+ <!--
+ When configuring for clustering, you also add in a valve to catch all the requests
+ coming in, at the end of the request, the session may or may not be replicated.
+ A session is replicated if and only if all the conditions are met:
+ 1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
+ 2. a session exists (has been created)
+ 3. the request is not trapped by the "filter" attribute
+
+ The filter attribute is to filter out requests that could not modify the session,
+ hence we don't replicate the session after the end of this request.
+ The filter is negative, ie, anything you put in the filter, you mean to filter out,
+ ie, no replication will be done on requests that match one of the filters.
+ The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
+
+ filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
+ ending with .gif and .js are intercepted.
+
+ The deployer element can be used to deploy apps cluster wide.
+ Currently the deployment only deploys/undeploys to working members in the cluster
+ so no WARs are copied upons startup of a broken node.
+ The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
+ When a new war file is added the war gets deployed to the local instance,
+ and then deployed to the other instances in the cluster.
+ When a war file is deleted from the watchDir the war is undeployed locally
+ and cluster wide
+ -->
+
+ <!--
+ <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
+ managerClassName="org.apache.catalina.cluster.session.DeltaManager"
+ expireSessionsOnShutdown="false"
+ useDirtyFlag="true"
+ notifyListenersOnReplication="true">
+
+ <Membership
+ className="org.apache.catalina.cluster.mcast.McastService"
+ mcastAddr="228.0.0.4"
+ mcastPort="45564"
+ mcastFrequency="500"
+ mcastDropTime="3000"/>
+
+ <Receiver
+ className="org.apache.catalina.cluster.tcp.ReplicationListener"
+ tcpListenAddress="auto"
+ tcpListenPort="4001"
+ tcpSelectorTimeout="100"
+ tcpThreadCount="6"/>
+
+ <Sender
+ className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+ replicationMode="pooled"
+ ackTimeout="15000"/>
+
+ <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
+ filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
+
+ <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
+ tempDir="/tmp/war-temp/"
+ deployDir="/tmp/war-deploy/"
+ watchDir="/tmp/war-listen/"
+ watchEnabled="false"/>
+ </Cluster>
+ -->
+
+
+
+ <!-- Normally, users must authenticate themselves to each web app
+ individually. Uncomment the following entry if you would like
+ a user to be authenticated the first time they encounter a
+ resource protected by a security constraint, and then have that
+ user identity maintained across *all* web applications contained
+ in this virtual host. -->
+ <!--
+ <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
+ -->
+
+ <!-- Access log processes all requests for this virtual host. By
+ default, log files are created in the "logs" directory relative to
+ $CATALINA_HOME. If you wish, you can specify a different
+ directory with the "directory" attribute. Specify either a relative
+ (to $CATALINA_HOME) or absolute path to the desired directory.
+ -->
+ <!--
+ <Valve className="org.apache.catalina.valves.AccessLogValve"
+ directory="logs" prefix="localhost_access_log." suffix=".txt"
+ pattern="common" resolveHosts="false"/>
+ -->
+
+ <!-- Access log processes all requests for this virtual host. By
+ default, log files are created in the "logs" directory relative to
+ $CATALINA_HOME. If you wish, you can specify a different
+ directory with the "directory" attribute. Specify either a relative
+ (to $CATALINA_HOME) or absolute path to the desired directory.
+ This access log implementation is optimized for maximum performance,
+ but is hardcoded to support only the "common" and "combined" patterns.
+ -->
+ <!--
+ <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
+ directory="logs" prefix="localhost_access_log." suffix=".txt"
+ pattern="common" resolveHosts="false"/>
+ -->
+
+ </Host>
+
+ </Engine>
+
+ </Service>
+
+</Server>
--- /dev/null
+<!--
+ NOTE: By default, no user is included in the "manager" role required
+ to operate the "/manager" web application. If you wish to use this app,
+ you must define such a user - the username and password are arbitrary.
+-->
+<tomcat-users>
--- /dev/null
+ <user name="tomcat" password="tomcat" roles="tomcat" />
+ <user name="role1" password="tomcat" roles="role1" />
+ <user name="both" password="tomcat" roles="tomcat,role1" />
+</tomcat-users>
--- /dev/null
+<project name="Deployer" default="compile" basedir=".">
+
+ <property file="deployer.properties"/>
+
+ <!-- Configure the directory into which the web application is built -->
+ <property name="build" value="${basedir}/build"/>
+
+ <!-- Configure the folder and context path for this application -->
+ <property name="webapp" value="myapp"/>
+ <property name="path" value="/myapp"/>
+
+ <!-- Configure properties to access the Manager application -->
+ <property name="url" value="http://localhost:8080/manager"/>
+ <property name="username" value="tomcat"/>
+ <property name="password" value="tomcat"/>
+
+ <property name="webapp.path" value="${build}/webapp${path}"/>
+
+ <path id="deployer.classpath">
+ <fileset dir="${basedir}/lib">
+ <include name="*.jar"/>
+ </fileset>
+ </path>
+
+ <!-- Configure the custom Ant tasks for the Manager application -->
+ <taskdef resource="org/apache/catalina/ant/catalina.tasks"
+ classpathref="deployer.classpath"/>
+
+ <!-- Executable Targets -->
+ <target name="clean" description="Removes build directory">
+ <delete dir="${build}" />
+ </target>
+
+ <target name="compile" description="Compile web application"
+ depends="clean">
+
+ <copy todir="${webapp.path}">
+ <fileset dir="${webapp}" />
+ </copy>
+
+ <jasper2 validateXml="false"
+ uriroot="${webapp.path}"
+ webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml"
+ addWebXmlMappings="true"
+ outputDir="${webapp.path}/WEB-INF/classes" />
+
+ <validator path="${webapp.path}" />
+
+ <mkdir dir="${webapp.path}/WEB-INF/classes"/>
+ <mkdir dir="${webapp.path}/WEB-INF/lib"/>
+
+ <javac destdir="${webapp.path}/WEB-INF/classes"
+ optimize="off"
+ debug="${compile.debug}"
+ deprecation="${compile.deprecation}"
+ failonerror="false"
+ srcdir="${webapp.path}/WEB-INF/classes"
+ encoding="UTF-8"
+ excludes="**/*.smap">
+ <classpath>
+ <fileset dir="${webapp.path}/WEB-INF/lib">
+ <include name="*.jar"/>
+ </fileset>
+ <fileset dir="${basedir}/lib">
+ <include name="*.jar"/>
+ </fileset>
+ </classpath>
+ <include name="**" />
+ <exclude name="tags/**" />
+ </javac>
+
+ <jar destfile="${webapp.path}.war"
+ basedir="${webapp.path}" />
+
+ </target>
+
+ <target name="deploy" description="Deploy web application">
+ <deploy url="${url}" username="${username}" password="${password}"
+ path="${path}" war="${webapp.path}.war" update="true" />
+ </target>
+
+ <target name="undeploy" description="Undeploy web application">
+ <undeploy url="${url}" username="${username}" password="${password}"
+ path="${path}"/>
+ </target>
+
+ <!-- Webapp lifecycle control -->
+ <target name="start" description="Start web application">
+ <start url="${url}" username="${username}" password="${password}"
+ path="${path}"/>
+ </target>
+ <target name="reload" description="Reload web application">
+ <reload url="${url}" username="${username}" password="${password}"
+ path="${path}"/>
+ </target>
+ <target name="stop" description="Stop web application">
+ <stop url="${url}" username="${username}" password="${password}"
+ path="${path}"/>
+ </target>
+
+</project>
--- /dev/null
+[Settings]\r
+NumFields=2\r
+\r
+[Field 1]\r
+Type=Label\r
+Text=Please select the path of a J2SE 5.0 JRE installed on your system:\r
+left=0\r
+right=300\r
+top=5\r
+bottom=20\r
+\r
+[Field 2]\r
+Type=DirRequest\r
+Left=0\r
+Right=-1\r
+Top=65\r
+Bottom=78\r
+\r
--- /dev/null
+\r
+; Tomcat script for Nullsoft Installer\r
+; $Id: tomcat.nsi 393199 2006-04-11 12:17:55Z remm $\r
+\r
+ ;Compression options\r
+ CRCCheck on\r
+ SetCompress force\r
+ SetCompressor lzma\r
+ SetDatablockOptimize on\r
+\r
+ Name "Apache Tomcat"\r
+\r
+ ;Product information\r
+ VIAddVersionKey ProductName "Apache Tomcat"\r
+ VIAddVersionKey CompanyName "Apache Software Foundation"\r
+ VIAddVersionKey LegalCopyright "Copyright (c) 1999-2006 The Apache Software Foundation"\r
+ VIAddVersionKey FileDescription "Apache Tomcat Installer"\r
+ VIAddVersionKey FileVersion "2.0"\r
+ VIAddVersionKey ProductVersion "@VERSION@"\r
+ VIAddVersionKey Comments "tomcat.apache.org"\r
+ VIAddVersionKey InternalName "apache-tomcat-@VERSION@.exe"\r
+ VIProductVersion @VERSION_NUMBER@\r
+\r
+!include "MUI.nsh"\r
+!include "StrFunc.nsh"\r
+${StrRep}\r
+ Var "JavaHome"\r
+\r
+\r
+\r
+;--------------------------------\r
+;Configuration\r
+\r
+ !define MUI_HEADERIMAGE\r
+ !define MUI_HEADERIMAGE_RIGHT\r
+ !define MUI_HEADERIMAGE_BITMAP header.bmp\r
+ !define MUI_WELCOMEFINISHPAGE_BITMAP side_left.bmp \r
+ !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\webapps\ROOT\RELEASE-NOTES.txt"\r
+ !define MUI_FINISHPAGE_RUN $INSTDIR\bin\tomcat6w.exe\r
+ !define MUI_FINISHPAGE_RUN_PARAMETERS //MR//Tomcat6\r
+ !define MUI_FINISHPAGE_NOREBOOTSUPPORT\r
+\r
+ !define MUI_ABORTWARNING\r
+\r
+ !define TEMP1 $R0\r
+ !define TEMP2 $R1\r
+\r
+ !define MUI_ICON tomcat.ico\r
+ !define MUI_UNICON tomcat.ico\r
+\r
+ ;General\r
+ OutFile tomcat-installer.exe\r
+\r
+ ;Install Options pages\r
+ LangString TEXT_JVM_TITLE ${LANG_ENGLISH} "Java Virtual Machine"\r
+ LangString TEXT_JVM_SUBTITLE ${LANG_ENGLISH} "Java Virtual Machine path selection."\r
+ LangString TEXT_JVM_PAGETITLE ${LANG_ENGLISH} ": Java Virtual Machine path selection"\r
+\r
+ LangString TEXT_CONF_TITLE ${LANG_ENGLISH} "Configuration"\r
+ LangString TEXT_CONF_SUBTITLE ${LANG_ENGLISH} "Tomcat basic configuration."\r
+ LangString TEXT_CONF_PAGETITLE ${LANG_ENGLISH} ": Configuration Options"\r
+\r
+ ;Install Page order\r
+ !insertmacro MUI_PAGE_WELCOME\r
+ !insertmacro MUI_PAGE_LICENSE INSTALLLICENSE\r
+ !insertmacro MUI_PAGE_COMPONENTS\r
+ !insertmacro MUI_PAGE_DIRECTORY\r
+ Page custom SetConfiguration Void "$(TEXT_CONF_PAGETITLE)"\r
+ Page custom SetChooseJVM Void "$(TEXT_JVM_PAGETITLE)"\r
+ !insertmacro MUI_PAGE_INSTFILES\r
+ Page custom CheckUserType\r
+ !insertmacro MUI_PAGE_FINISH\r
+\r
+ ;Uninstall Page order\r
+ !insertmacro MUI_UNPAGE_CONFIRM\r
+ !insertmacro MUI_UNPAGE_INSTFILES\r
+\r
+ ;License dialog\r
+ LicenseData License.rtf\r
+\r
+ ;Component-selection page\r
+ ;Descriptions\r
+ LangString DESC_SecTomcat ${LANG_ENGLISH} "Install the Tomcat Servlet container."\r
+ LangString DESC_SecTomcatCore ${LANG_ENGLISH} "Install the Tomcat Servlet container core."\r
+ LangString DESC_SecTomcatService ${LANG_ENGLISH} "Automatically start Tomcat when the computer is started. This requires Windows NT 4.0, Windows 2000 or Windows XP."\r
+ LangString DESC_SecTomcatNative ${LANG_ENGLISH} "Downloads and installs Tomcat native .dll for better performance and scalability in production environments."\r
+; LangString DESC_SecTomcatSource ${LANG_ENGLISH} "Install the Tomcat source code."\r
+ LangString DESC_SecMenu ${LANG_ENGLISH} "Create a Start Menu program group for Tomcat."\r
+ LangString DESC_SecDocs ${LANG_ENGLISH} "Install the Tomcat documentation bundle. This include documentation on the servlet container and its configuration options, on the Jasper JSP page compiler, as well as on the native webserver connectors."\r
+ LangString DESC_SecExamples ${LANG_ENGLISH} "Installs some examples web applications."\r
+ LangString DESC_SecAdmin ${LANG_ENGLISH} "Installs the administration web application.";\r
+; LangString DESC_SecWebapps ${LANG_ENGLISH} "Installs other utility web applications (WebDAV, balancer, etc)."\r
+\r
+ ;Language\r
+ !insertmacro MUI_LANGUAGE English\r
+\r
+ ;Folder-select dialog\r
+ InstallDir "$PROGRAMFILES\Apache Software Foundation\Tomcat 6.0"\r
+\r
+ ;Install types\r
+ InstType Normal\r
+ InstType Minimum\r
+ InstType Full\r
+\r
+ ; Main registry key\r
+ InstallDirRegKey HKLM "SOFTWARE\Apache Software Foundation\Tomcat\6.0" ""\r
+\r
+ !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS\r
+ ReserveFile "jvm.ini"\r
+ ReserveFile "config.ini"\r
+\r
+;--------------------------------\r
+;Installer Sections\r
+\r
+SubSection "Tomcat" SecTomcat\r
+\r
+Section "Core" SecTomcatCore\r
+\r
+ SectionIn 1 2 3 RO\r
+\r
+ IfSilent +2 0\r
+ Call checkJvm\r
+\r
+ SetOutPath $INSTDIR\r
+ File tomcat.ico\r
+ File LICENSE\r
+ File /r lib\r
+ File /nonfatal /r logs\r
+ File /nonfatal /r work\r
+ File /nonfatal /r temp\r
+ SetOutPath $INSTDIR\bin\r
+ File bin\bootstrap.jar\r
+ File bin\commons-logging-api.jar\r
+ File bin\*.exe\r
+ SetOutPath $INSTDIR\conf\r
+ File conf\*.*\r
+ SetOutPath $INSTDIR\webapps\r
+ File /r webapps\ROOT\r
+ File /r webapps\host-manager\r
+ File /r webapps\manager\r
+\r
+ Call configure\r
+ Call findJavaPath\r
+ Pop $2\r
+\r
+ IfSilent +2 0\r
+ !insertmacro MUI_INSTALLOPTIONS_READ $2 "jvm.ini" "Field 2" "State"\r
+\r
+ StrCpy "$JavaHome" $2\r
+ Call findJVMPath\r
+ Pop $2\r
+\r
+ DetailPrint "Using Jvm: $2"\r
+\r
+ InstallRetry:\r
+ ClearErrors\r
+ nsExec::ExecToLog '"$INSTDIR\bin\tomcat6.exe" //IS//Tomcat6 --DisplayName "Apache Tomcat" --Description "Apache Tomcat @VERSION@ Server - http://tomcat.apache.org/" --LogPath "$INSTDIR\logs" --Install "$INSTDIR\bin\tomcat6.exe" --Jvm "$2" --StartPath "$INSTDIR" --StopPath "$INSTDIR"'\r
+ Pop $0\r
+ StrCmp $0 "0" InstallOk\r
+ MessageBox MB_ABORTRETRYIGNORE|MB_ICONSTOP \\r
+ "Failed to install Tomcat6 service.$\r$\nCheck your settings and permissions$\r$\nIgnore and continue anyway (not recommended)?" \\r
+ /SD IDIGNORE IDIGNORE InstallOk IDRETRY InstallRetry\r
+ Quit\r
+ InstallOk:\r
+ ClearErrors\r
+\r
+SectionEnd\r
+\r
+Section "Service" SecTomcatService\r
+\r
+ SectionIn 3\r
+\r
+ IfSilent 0 +3\r
+ Call findJavaPath\r
+ Pop $2\r
+\r
+ IfSilent +2 0\r
+ !insertmacro MUI_INSTALLOPTIONS_READ $2 "jvm.ini" "Field 2" "State"\r
+\r
+ StrCpy "$JavaHome" $2\r
+ Call findJVMPath\r
+ Pop $2\r
+\r
+ nsExec::ExecToLog '"$INSTDIR\bin\tomcat6.exe" //US//Tomcat6 --Startup auto'\r
+ ; Bahave like Apache Httpd (put the icon in try on login)\r
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "ApacheTomcatMonitor" '"$INSTDIR\bin\tomcat6w.exe" //MS//Tomcat6'\r
+\r
+ ClearErrors\r
+\r
+SectionEnd\r
+\r
+Section "Native" SecTomcatNative\r
+\r
+ SectionIn 3\r
+\r
+ NSISdl::download /TIMEOUT=30000 http://tomcat.heanet.ie/native/1.1.3/binaries/win32/tcnative-1.dll $INSTDIR\bin\tcnative-1.dll\r
+ Pop $0\r
+ StrCmp $0 success success\r
+ SetDetailsView show\r
+ DetailPrint "download failed from http://tomcat.heanet.ie/native/1.1.3/binaries/win32/tcnative-1.dll: $0"\r
+ success:\r
+\r
+ ClearErrors\r
+\r
+SectionEnd\r
+\r
+;Section "Source Code" SecTomcatSource\r
+;\r
+; SectionIn 3\r
+; SetOutPath $INSTDIR\r
+; File /r src\r
+;\r
+;SectionEnd\r
+\r
+SubSectionEnd\r
+\r
+Section "Start Menu Items" SecMenu\r
+\r
+ SectionIn 1 2 3\r
+\r
+ !insertmacro MUI_INSTALLOPTIONS_READ $2 "jvm.ini" "Field 2" "State"\r
+\r
+ SetOutPath "$SMPROGRAMS\Apache Tomcat 6.0"\r
+\r
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 6.0\Tomcat Home Page.lnk" \\r
+ "http://tomcat.apache.org/"\r
+\r
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 6.0\Welcome.lnk" \\r
+ "http://127.0.0.1:$R0/"\r
+\r
+; IfFileExists "$INSTDIR\webapps\admin" 0 NoAdminApp\r
+;\r
+; CreateShortCut "$SMPROGRAMS\Apache Tomcat 6.0\Tomcat Administration.lnk" \\r
+; "http://127.0.0.1:$R0/admin/"\r
+;NoAdminApp:\r
+\r
+ IfFileExists "$INSTDIR\webapps\manager" 0 NoManagerApp\r
+\r
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 6.0\Tomcat Manager.lnk" \\r
+ "http://127.0.0.1:$R0/manager/html"\r
+\r
+NoManagerApp:\r
+\r
+ IfFileExists "$INSTDIR\webapps\webapps\tomcat-docs" 0 NoDocumentaion\r
+\r
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 6.0\Tomcat Documentation.lnk" \\r
+ "$INSTDIR\webapps\tomcat-docs\index.html"\r
+\r
+NoDocumentaion:\r
+\r
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 6.0\Uninstall Tomcat 6.0.lnk" \\r
+ "$INSTDIR\Uninstall.exe"\r
+\r
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 6.0\Tomcat 6.0 Program Directory.lnk" \\r
+ "$INSTDIR"\r
+\r
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 6.0\Monitor Tomcat.lnk" \\r
+ "$INSTDIR\bin\tomcat6w.exe" \\r
+ '//MS//Tomcat6' \\r
+ "$INSTDIR\tomcat.ico" 0 SW_SHOWNORMAL\r
+\r
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat 6.0\Configure Tomcat.lnk" \\r
+ "$INSTDIR\bin\tomcat6w.exe" \\r
+ '//ES//Tomcat6' \\r
+ "$INSTDIR\tomcat.ico" 0 SW_SHOWNORMAL\r
+\r
+SectionEnd\r
+\r
+Section "Documentation" SecDocs\r
+\r
+ SectionIn 1 3\r
+ SetOutPath $INSTDIR\webapps\r
+ File /r webapps\docs\r
+\r
+SectionEnd\r
+\r
+Section "Examples" SecExamples\r
+\r
+ SectionIn 3\r
+\r
+ SetOverwrite on\r
+ SetOutPath $INSTDIR\webapps\r
+ File /r webapps\examples\r
+\r
+SectionEnd\r
+\r
+;Section "Administration" SecAdmin\r
+;\r
+; SectionIn 3\r
+;\r
+; SetOutPath $INSTDIR\webapps\r
+; File /r webapps\admin\r
+; SetOutPath $INSTDIR\conf\Catalina\localhost\r
+; File conf\Catalina\localhost\admin.xml\r
+;\r
+;SectionEnd\r
+\r
+Section "Webapps" SecWebapps\r
+\r
+ SectionIn 3\r
+\r
+ SetOutPath $INSTDIR\webapps\r
+ File /nonfatal /r webapps\balancer\r
+ File /nonfatal /r webapps\webdav\r
+\r
+SectionEnd\r
+\r
+;Section "Compatibility" SecCompat\r
+;\r
+; SetOutPath $INSTDIR\r
+; File /oname=bin\jmx.jar ..\compat\bin\jmx.jar\r
+; File /oname=common\endorsed\xercesImpl.jar ..\compat\common\endorsed\xercesImpl.jar\r
+; File /oname=common\endorsed\xml-apis.jar ..\compat\common\endorsed\xml-apis.jar\r
+;\r
+;SectionEnd\r
+\r
+Section -post\r
+ nsExec::ExecToLog '"$INSTDIR\bin\tomcat6.exe" //US//Tomcat6 --Classpath "$INSTDIR\bin\bootstrap.jar" --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop --StartMode jvm --StopMode jvm'\r
+ nsExec::ExecToLog '"$INSTDIR\bin\tomcat6.exe" //US//Tomcat6 --JvmOptions "-Dcatalina.home=$INSTDIR#-Dcatalina.base=$INSTDIR#-Djava.endorsed.dirs=$INSTDIR\common\endorsed#-Djava.io.tmpdir=$INSTDIR\temp#-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager#-Djava.util.logging.config.file=$INSTDIR\conf\logging.properties" --StdOutput auto --StdError auto'\r
+\r
+ WriteUninstaller "$INSTDIR\Uninstall.exe"\r
+\r
+ WriteRegStr HKLM "SOFTWARE\Apache Software Foundation\Tomcat\6.0" "InstallPath" $INSTDIR\r
+ WriteRegStr HKLM "SOFTWARE\Apache Software Foundation\Tomcat\6.0" "Version" @VERSION@\r
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Apache Tomcat 6.0" \\r
+ "DisplayName" "Apache Tomcat 6.0 (remove only)"\r
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Apache Tomcat 6.0" \\r
+ "UninstallString" '"$INSTDIR\Uninstall.exe"'\r
+\r
+SectionEnd\r
+\r
+Function .onInit\r
+\r
+ ;Extract Install Options INI Files\r
+ !insertmacro MUI_INSTALLOPTIONS_EXTRACT "config.ini"\r
+ !insertmacro MUI_INSTALLOPTIONS_EXTRACT "jvm.ini"\r
+\r
+FunctionEnd\r
+\r
+Function SetChooseJVM\r
+ !insertmacro MUI_HEADER_TEXT "$(TEXT_JVM_TITLE)" "$(TEXT_JVM_SUBTITLE)"\r
+ Call findJavaPath\r
+ Pop $3\r
+ !insertmacro MUI_INSTALLOPTIONS_WRITE "jvm.ini" "Field 2" "State" $3\r
+ !insertmacro MUI_INSTALLOPTIONS_DISPLAY "jvm.ini"\r
+FunctionEnd\r
+\r
+Function SetConfiguration\r
+ !insertmacro MUI_HEADER_TEXT "$(TEXT_CONF_TITLE)" "$(TEXT_CONF_SUBTITLE)"\r
+ !insertmacro MUI_INSTALLOPTIONS_DISPLAY "config.ini"\r
+FunctionEnd\r
+\r
+Function Void\r
+FunctionEnd\r
+\r
+;--------------------------------\r
+;Descriptions\r
+\r
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecTomcat} $(DESC_SecTomcat)\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecTomcatCore} $(DESC_SecTomcatCore)\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecTomcatService} $(DESC_SecTomcatService)\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecTomcatNative} $(DESC_SecTomcatNative)\r
+; !insertmacro MUI_DESCRIPTION_TEXT ${SecTomcatSource} $(DESC_SecTomcatSource)\r
+; !insertmacro MUI_DESCRIPTION_TEXT ${SecCompat} $(DESC_SecCompat)\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecMenu} $(DESC_SecMenu)\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecDocs} $(DESC_SecDocs)\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecExamples} $(DESC_SecExamples)\r
+; !insertmacro MUI_DESCRIPTION_TEXT ${SecAdmin} $(DESC_SecAdmin)\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecWebapps} $(DESC_SecWebapps)\r
+!insertmacro MUI_FUNCTION_DESCRIPTION_END\r
+\r
+\r
+; =====================\r
+; CheckUserType Function\r
+; =====================\r
+;\r
+; Check the user type, and warn if it's not an administrator.\r
+; Taken from Examples/UserInfo that ships with NSIS.\r
+Function CheckUserType\r
+ ClearErrors\r
+ UserInfo::GetName\r
+ IfErrors Win9x\r
+ Pop $0\r
+ UserInfo::GetAccountType\r
+ Pop $1\r
+ StrCmp $1 "Admin" 0 +3\r
+ ; This is OK, do nothing\r
+ Goto done\r
+\r
+ MessageBox MB_OK|MB_ICONEXCLAMATION 'Note: the current user is not an administrator. \\r
+ To run Tomcat as a Windows service, you must be an administrator. \\r
+ You can still run Tomcat from the command-line as this type of user.'\r
+ Goto done\r
+\r
+ Win9x:\r
+ # This one means you don't need to care about admin or\r
+ # not admin because Windows 9x doesn't either\r
+ MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"\r
+\r
+ done:\r
+FunctionEnd\r
+\r
+\r
+; =====================\r
+; FindJavaPath Function\r
+; =====================\r
+;\r
+; Find the JAVA_HOME used on the system, and put the result on the top of the\r
+; stack\r
+; Will return an empty string if the path cannot be determined\r
+;\r
+Function findJavaPath\r
+\r
+ ;ClearErrors\r
+\r
+ ;ReadEnvStr $1 JAVA_HOME\r
+\r
+ ;IfErrors 0 FoundJDK\r
+\r
+ ClearErrors\r
+\r
+ ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion"\r
+ ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$2" "JavaHome"\r
+ ReadRegStr $3 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$2" "RuntimeLib"\r
+\r
+ ;FoundJDK:\r
+\r
+ IfErrors 0 NoErrors\r
+ StrCpy $1 ""\r
+\r
+NoErrors:\r
+\r
+ ClearErrors\r
+\r
+ ; Put the result in the stack\r
+ Push $1\r
+\r
+FunctionEnd\r
+\r
+\r
+; ====================\r
+; FindJVMPath Function\r
+; ====================\r
+;\r
+; Find the full JVM path, and put the result on top of the stack\r
+; Argument: JVM base path (result of findJavaPath)\r
+; Will return an empty string if the path cannot be determined\r
+;\r
+Function findJVMPath\r
+\r
+ ClearErrors\r
+ \r
+ ;Step one: Is this a JRE path (Program Files\Java\XXX)\r
+ StrCpy $1 "$JavaHome"\r
+ \r
+ StrCpy $2 "$1\bin\hotspot\jvm.dll"\r
+ IfFileExists "$2" FoundJvmDll\r
+ StrCpy $2 "$1\bin\server\jvm.dll"\r
+ IfFileExists "$2" FoundJvmDll\r
+ StrCpy $2 "$1\bin\client\jvm.dll" \r
+ IfFileExists "$2" FoundJvmDll\r
+ StrCpy $2 "$1\bin\classic\jvm.dll"\r
+ IfFileExists "$2" FoundJvmDll\r
+\r
+ ;Step two: Is this a JDK path (Program Files\XXX\jre)\r
+ StrCpy $1 "$JavaHome\jre"\r
+ \r
+ StrCpy $2 "$1\bin\hotspot\jvm.dll"\r
+ IfFileExists "$2" FoundJvmDll\r
+ StrCpy $2 "$1\bin\server\jvm.dll"\r
+ IfFileExists "$2" FoundJvmDll\r
+ StrCpy $2 "$1\bin\client\jvm.dll" \r
+ IfFileExists "$2" FoundJvmDll\r
+ StrCpy $2 "$1\bin\classic\jvm.dll"\r
+ IfFileExists "$2" FoundJvmDll\r
+\r
+ ClearErrors\r
+ ;Step tree: Read defaults from registry\r
+ \r
+ ReadRegStr $1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion"\r
+ ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$1" "RuntimeLib"\r
+ \r
+ IfErrors 0 FoundJvmDll\r
+ StrCpy $2 ""\r
+\r
+ FoundJvmDll:\r
+ ClearErrors\r
+\r
+ ; Put the result in the stack\r
+ Push $2\r
+\r
+FunctionEnd\r
+\r
+\r
+; ====================\r
+; CheckJvm Function\r
+; ====================\r
+;\r
+Function checkJvm\r
+\r
+ !insertmacro MUI_INSTALLOPTIONS_READ $3 "jvm.ini" "Field 2" "State"\r
+ IfFileExists "$3\bin\java.exe" NoErrors1\r
+ MessageBox MB_OK|MB_ICONSTOP "No Java Virtual Machine found in folder:$\r$\n$3"\r
+ Quit\r
+NoErrors1:\r
+ StrCpy "$JavaHome" $3\r
+ Call findJVMPath\r
+ Pop $4\r
+ StrCmp $4 "" 0 NoErrors2\r
+ MessageBox MB_OK|MB_ICONSTOP "No Java Virtual Machine found in folder:$\r$\n$3"\r
+ Quit\r
+NoErrors2:\r
+\r
+FunctionEnd\r
+\r
+; ==================\r
+; Configure Function\r
+; ==================\r
+;\r
+; Display the configuration dialog boxes, read the values entered by the user,\r
+; and build the configuration files\r
+;\r
+Function configure\r
+\r
+ !insertmacro MUI_INSTALLOPTIONS_READ $R0 "config.ini" "Field 2" "State"\r
+ !insertmacro MUI_INSTALLOPTIONS_READ $R1 "config.ini" "Field 5" "State"\r
+ !insertmacro MUI_INSTALLOPTIONS_READ $R2 "config.ini" "Field 7" "State"\r
+\r
+ IfSilent 0 +2\r
+ StrCpy $R4 'port="8080"'\r
+\r
+ IfSilent +2 0\r
+ StrCpy $R4 'port="$R0"'\r
+\r
+ IfSilent 0 +2\r
+ StrCpy $R5 ''\r
+\r
+ IfSilent Silent 0\r
+\r
+ ; Escape XML\r
+ Push $R1\r
+ Call xmlEscape\r
+ Pop $R1\r
+ Push $R2\r
+ Call xmlEscape\r
+ Pop $R2\r
+ \r
+ StrCpy $R5 '<user name="$R1" password="$R2" roles="admin,manager" />'\r
+\r
+Silent:\r
+ DetailPrint 'HTTP/1.1 Connector configured on port "$R0"'\r
+ DetailPrint 'Admin user added: "$R1"'\r
+\r
+ SetOutPath $TEMP\r
+ File /r confinstall\r
+\r
+ ; Build final server.xml\r
+ Delete "$INSTDIR\conf\server.xml"\r
+ FileOpen $R9 "$INSTDIR\conf\server.xml" w\r
+\r
+ Push "$TEMP\confinstall\server_1.xml"\r
+ Call copyFile\r
+ FileWrite $R9 $R4\r
+ Push "$TEMP\confinstall\server_2.xml"\r
+ Call copyFile\r
+\r
+ FileClose $R9\r
+\r
+ DetailPrint "server.xml written"\r
+\r
+ ; Build final tomcat-users.xml\r
+ \r
+ Delete "$INSTDIR\conf\tomcat-users.xml"\r
+ FileOpen $R9 "$INSTDIR\conf\tomcat-users.xml" w\r
+\r
+ Push "$TEMP\confinstall\tomcat-users_1.xml"\r
+ Call copyFile\r
+ FileWrite $R9 $R5\r
+ Push "$TEMP\confinstall\tomcat-users_2.xml"\r
+ Call copyFile\r
+\r
+ FileClose $R9\r
+\r
+ DetailPrint "tomcat-users.xml written"\r
+\r
+ RMDir /r "$TEMP\confinstall"\r
+\r
+FunctionEnd\r
+\r
+\r
+Function xmlEscape\r
+ Pop $0\r
+ ${StrRep} $0 $0 "&" "&"\r
+ ${StrRep} $0 $0 "$\"" """\r
+ ${StrRep} $0 $0 "<" "<"\r
+ ${StrRep} $0 $0 ">" ">"\r
+ Push $0\r
+FunctionEnd\r
+\r
+\r
+; =================\r
+; CopyFile Function\r
+; =================\r
+;\r
+; Copy specified file contents to $R9\r
+;\r
+Function copyFile\r
+\r
+ ClearErrors\r
+\r
+ Pop $0\r
+\r
+ FileOpen $1 $0 r\r
+\r
+ NoError:\r
+\r
+ FileRead $1 $2\r
+ IfErrors EOF 0\r
+ FileWrite $R9 $2\r
+\r
+ IfErrors 0 NoError\r
+\r
+ EOF:\r
+\r
+ FileClose $1\r
+\r
+ ClearErrors\r
+\r
+FunctionEnd\r
+\r
+\r
+;--------------------------------\r
+;Uninstaller Section\r
+\r
+Section Uninstall\r
+\r
+ Delete "$INSTDIR\modern.exe"\r
+ Delete "$INSTDIR\Uninstall.exe"\r
+\r
+ ; Stop Tomcat service monitor if running\r
+ nsExec::ExecToLog '"$INSTDIR\bin\tomcat6w.exe" //MQ//Tomcat6'\r
+ ; Delete Tomcat service\r
+ nsExec::ExecToLog '"$INSTDIR\bin\tomcat6.exe" //DS//Tomcat6'\r
+ ClearErrors\r
+\r
+ DeleteRegKey HKCR "JSPFile"\r
+ DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Apache Tomcat 6.0"\r
+ DeleteRegKey HKLM "SOFTWARE\Apache Software Foundation\Tomcat\6.0"\r
+ DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "ApacheTomcatMonitor"\r
+ RMDir /r "$SMPROGRAMS\Apache Tomcat 6.0"\r
+ Delete "$INSTDIR\tomcat.ico"\r
+ Delete "$INSTDIR\LICENSE"\r
+ RMDir /r "$INSTDIR\bin"\r
+ RMDir /r "$INSTDIR\lib"\r
+ Delete "$INSTDIR\conf\*.dtd"\r
+ RMDir "$INSTDIR\logs"\r
+ RMDir /r "$INSTDIR\webapps\balancer"\r
+ RMDir /r "$INSTDIR\webapps\docs"\r
+ RMDir /r "$INSTDIR\webapps\examples"\r
+ RMDir /r "$INSTDIR\webapps\webdav"\r
+ RMDir /r "$INSTDIR\work"\r
+ RMDir /r "$INSTDIR\temp"\r
+ RMDir /r "$INSTDIR\src"\r
+ RMDir "$INSTDIR"\r
+\r
+ IfSilent Removed 0\r
+\r
+ ; if $INSTDIR was removed, skip these next ones\r
+ IfFileExists "$INSTDIR" 0 Removed \r
+ MessageBox MB_YESNO|MB_ICONQUESTION \\r
+ "Remove all files in your Tomcat 6.0 directory? (If you have anything \\r
+ you created that you want to keep, click No)" IDNO Removed\r
+ RMDir /r "$INSTDIR\webapps\ROOT" ; this would be skipped if the user hits no\r
+ RMDir "$INSTDIR\webapps"\r
+ Delete "$INSTDIR\*.*" \r
+ RMDir /r "$INSTDIR"\r
+ Sleep 500\r
+ IfFileExists "$INSTDIR" 0 Removed \r
+ MessageBox MB_OK|MB_ICONEXCLAMATION \\r
+ "Note: $INSTDIR could not be removed."\r
+ Removed:\r
+\r
+SectionEnd\r
+\r
+;eof\r
<ul>
<li><a href="RELEASE-NOTES">Release notes</a>, with important information
about known issues</li>
-<li><a href="http://tomcat.apache.org/tomcat-5.5-doc/changelog.html">Changelog</a></li>
-<li><a href="http://tomcat.apache.org/tomcat-5.5-doc/status.html">Status</a></li>
+<li><a href="http://tomcat.apache.org/tomcat-6.0-doc/changelog.html">Changelog</a></li>
+<li><a href="http://tomcat.apache.org/tomcat-6.0-doc/status.html">Status</a></li>
</ul>
</p>
of <CODE>tar</CODE> on Solaris and Mac OS X will not work with
these files.</b></P>
-<p><font color="red">Tomcat 5.5 requires JRE 5.0 by default. Read the
+<p><font color="red">Tomcat 6.0 requires JRE 5.0. Read the
RELEASE-NOTES and the RUNNING.txt file in the distribution for more details.
</font></p>
<li>apache-tomcat-[version].zip or .tar.gz: base distro, all non-embedded users download this.</li>
<li>apache-tomcat-[version].exe: Windows installer for Tomcat. Please note that while this distribution includes the vast majority of the base distribution, some of the command-line scripts for launching Tomcat are not included. This distribution is intended for those users planning to launch Tomcat through the Windows shortcuts or services.</li>
<li>apache-tomcat-[version]-admin.zip or .tar.gz: the Tomcat Administration webapp only.</li>
- <li>apache-tomcat-[version]-compat.zip or .tar.gz: required in addition to the base distro for using Tomcat with a Java 1.4 environment.</li>
<li>apache-tomcat-[version]-deployer.zip or .tar.gz: the standalone Tomcat Web Application Deployer.</li>
- <li>apache-tomcat-[version]-embed.zip or .tar.gz: for using Tomcat only as an embedded servlet container.</li>
</ul>
</p>
<ul>
<li><a href="RELEASE-NOTES">Release notes</a>, with important information
about known issues</li>
-<li><a href="http://tomcat.apache.org/tomcat-5.5-doc/changelog.html">Changelog</a></li>
-<li><a href="http://tomcat.apache.org/tomcat-5.5-doc/status.html">Status</a></li>
+<li><a href="http://tomcat.apache.org/tomcat-6.0-doc/changelog.html">Changelog</a></li>
+<li><a href="http://tomcat.apache.org/tomcat-6.0-doc/status.html">Status</a></li>
</ul>
</p>
of <CODE>tar</CODE> on Solaris and Mac OS X will not work with
these files.</b></P>
-<p><font color="red">Tomcat 5.5 requires JRE 5.0 by default. Read the
+<p><font color="red">Tomcat 6.0 requires JRE 5.0. Read the
RELEASE-NOTES and the RUNNING.txt file in the distribution for more details.
</font></p>
<li>apache-tomcat-[version].zip or .tar.gz: base distro, all non-embedded users download this.</li>
<li>apache-tomcat-[version].exe: Windows installer with base distro contents + Windows installation.</li>
<li>apache-tomcat-[version]-admin.zip or .tar.gz: the Tomcat Administration webapp only.</li>
- <li>apache-tomcat-[version]-compat.zip or .tar.gz: required in addition to the base distro for using tomcat with a Java 1.4 environment.</li>
<li>apache-tomcat-[version]-deployer.zip or .tar.gz: the standalone Tomcat Web Application Deployer.</li>
- <li>apache-tomcat-[version]-embed.zip or .tar.gz: for using Tomcat only as an embedded servlet container.</li>
</ul>
</p>
-<!--
-
- Context configuration file for the Tomcat Balancer Web App
- This is only needed to keep the distribution small and avoid duplicating
- commons libraries
-
- $Id: context.xml 303123 2004-08-26 17:03:35Z remm $
-
--->
-
-
<Context antiResourceLocking="false" />
--- /dev/null
+<Context antiResourceLocking="false" privileged="true" />
--- /dev/null
+<Context antiResourceLocking="false" privileged="true" />