Skip to content
Commits on Source (5)
......@@ -30,6 +30,8 @@ mvn.properties
.settings
.idea
*.iml
*.ipr
*.iws
*.asc
*.jj
*.tmp
......
......@@ -523,7 +523,7 @@ target. The command is:
NOTE: FindBugs is licensed under LGPL. Using Findbugs during Tomcat build is
optional and is off by default.
See http://findbugs.sourceforge.net/ for more information.
See https://spotbugs.github.io/ for more information.
To enable FindBugs, add the following property to build.properties file:
......@@ -545,15 +545,12 @@ The report file by default is written to
You usually would not need to run this check. You can skip this section.
Apache Tomcat project has convention that all of its textual source files,
stored in Subversion repository, are marked with Subversion property
"svn:eol-style" with value of "native". This convention makes the editing
of source code on different platforms easier.
stored in the Git repository, use Unix style LF line endings.
This test is used by developers to check that the source code adheres to
this convention. It verifies that the ends of lines in textual files are
appropriate for the operating system where it is run. The idea is to run
this check regularly on two different platforms and notify developers when
an inconsistency is detected.
appropriate. The idea is to run this check regularly and notify developers
when an inconsistency is detected.
The command to run this test is:
......
......@@ -22,45 +22,39 @@ ideal. These include:
- a large JAR where Tomcat only depends on a small fraction
SVN
GIT
===
For sources hosted in svn the approach is to svn copy the classes to the Tomcat
source tree, modify them (always with a package rename, sometimes with
additional changes) and then keep them in sync with the original via regular svn
merges. This file keeps track of these copies to assist committers in keeping
them up to date.
Updates from Git are applied manually via patch files. Patch files are generated
using:
git diff <last SHA1>:<sub-tree> HEAD:<sub-tree> > temp.patch
The most recently merged SHA1 for the component below should be updated after
the patch file has been applied and committed
BCEL
----
org.apache.tomcat.util.bcel is copied from:
/commons/proper/bcel/trunk/src/main/java/org/apache/bcel
Sub-tree:
src/main/java/org/apache/bcel
The SHA1 ID for the most recent commit to be merged to Tomcat is:
33b9f8718ac00b2cbbcc3bf498e55872a3066f19 (2019-04-27)
Codec
-----
org.apache.tomcat.util.codec is copied from:
/commons/proper/codec/trunk/src/main/java/org/apache/commons/codec/
Sub-tree:
src/main/java/org/apache/commons/codec
The SHA1 ID for the most recent commit to be merged to Tomcat is:
8502e2f14a6eafb0afa0964b34d1d1bb02b44f64 (2019-04-23)
Note: Only classes required for Base64 encoding/decoding. The rest are removed.
GIT
===
Updates from Git are applied manually via patch files. Patch files are generated
using:
git diff <last SHA1>:<sub-tree> HEAD:<sub-tree> > temp.patch
The most recently merged SHA1 for the component below should be updated after
the patch file has been applied and committed
FileUpload
----------
Sub-tree:
src/main/java/org/apache/commons/fileupload2
The SHA1 ID for the most recent commit to be merged to Tomcat is:
2cf7d09fefb17c59e5a776fd6850aebdf41046b2
41e40479f3000dc456d27951060fda01b87fbe9a (2019-04-24)
Note: Tomcat's copy of fileupload also includes classes copied manually (rather
than svn copied) from Commons IO.
Note: Tomcat's copy of fileupload also includes classes copied manually from
Commons IO.
DBCP
----
......@@ -69,10 +63,10 @@ Sub-tree
src/main/java/org/apache/commons/dbcp2
src/main/resources/org/apache/commons/dbcp2
The SHA1 ID for the most recent commit to be merged to Tomcat is:
de20b7779214cf8b0056aa61bb6d56c94ed3afb7
dcdbc72acf51155d2a6c3f10461d9712a3623686 (2019-04-24)
Pool2
Sub-tree
src/main/java/org/apache/commons/pool2
The SHA1 ID for the most recent commit to be merged to Tomcat is:
d4e0e88227ad91d8c8ef36ba01d656f71c770f83
0664f4dac9ef653703624cbe67272134cf0151cb (2019-04-30)
......@@ -115,7 +115,7 @@ and putting them in the shared classloader instead (JARs should be put in the
Security manager URLs:
======================
In order to grant security permissions to JARs located inside the
web application repository, use URLs of of the following format
web application repository, use URLs of the following format
in your policy file:
file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar
......
......@@ -25,9 +25,6 @@ Items carried over from the 9.0.x list:
2. Reduce instances of setters and getters for the same property existing on an
object and its parent. This may require new objects to be exposed via JMX.
3. Consider wrapping the SocketWrapper with a facade to detect / prevent
components retaining references longer than they should.
New items for 10.0.x onwards:
1. Remove APR connector.
......@@ -40,8 +37,8 @@ New items for 10.0.x onwards:
3. Remove the ExtensionValidator and associated classes (assuming that the
minimum Java version is Java 9 or later).
4. Clean-up content-type header processing. Remove the optional space after the
';' character (if any). Don't mutate the header if there is no charset
4. Clean-up content-type header processing. Remove the optional space after
the ';' character (if any). Don't mutate the header if there is no charset
parameter. See BZ 62912 for some discussion and additional references.
5. Consider applying the delayed log file opening (until there is something to
......@@ -56,4 +53,11 @@ New items for 10.0.x onwards:
in conf/web.xml
8. RFC 3986 states (section 2.2) that a %nn encoded delimiter is NOT equivalent
to the decoded form. Provide an option no to decode delimiters in %nn form.
to the decoded form. Provide an option not to decode delimiters in %nn form.
9. BZ 56966. Refactor internal request timing to use System.nanoTime()
10. BZ 63286. Make behaviour of %D and %T consistent with httpd.
11. Refactor DefaultServlet to use Ranges in parseRanges()
......@@ -228,7 +228,7 @@ fi
# Bugzilla 37848: When no TTY is available, don't output to console
have_tty=0
if [ "`tty`" != "not a tty" ]; then
if [ -t 0 ]; then
have_tty=1
fi
......
......@@ -25,7 +25,7 @@
# ----- Version Control Flags -----
version.major=9
version.minor=0
version.build=17
version.build=22
version.patch=0
version.suffix=
......@@ -123,17 +123,17 @@ wsdl4j-lib.jar=${wsdl4j-lib.home}/wsdl4j-${wsdl4j-lib.version}.jar
wsdl4j-lib.loc=${base-maven.loc}/wsdl4j/wsdl4j/${wsdl4j-lib.version}/wsdl4j-${wsdl4j-lib.version}.jar
# ----- Eclipse JDT, version 4.7 or later -----#
# See https://wiki.apache.org/tomcat/JDTCoreBatchCompiler before updating
# See https://cwiki.apache.org/confluence/display/TOMCAT/Managing+Tomcat%27s+Dependency+on+the+Eclipse+JDT+Core+Batch+Compiler
#
# Checksum is from "SHA512 Checksums for 4.9" link at
# http://download.eclipse.org/eclipse/downloads/drops4/R-4.9-201809060745/
# http://download.eclipse.org/eclipse/downloads/drops4/R-4.9-201809060745/checksum/eclipse-4.9-SUMSSHA512
# Checksum is from "SHA512 Checksums for 4.10" link at
# http://download.eclipse.org/eclipse/downloads/drops4/R-4.10-201812060815/
# http://download.eclipse.org/eclipse/downloads/drops4/R-4.10-201812060815/checksum/eclipse-4.10-SUMSSHA512
#
jdt.version=4.9
jdt.release=R-4.9-201809060745
jdt.version=4.12
jdt.release=R-4.12-201906051800/
jdt.checksum.enabled=true
jdt.checksum.algorithm=SHA-512
jdt.checksum.value=c4ddf476e161758a0ba5d336052cb5eb7109686b97dd0b62df6e33b417f7c18f210b81edba009bc765bb9122bd5831520a10291a0ff76ee223624bbcfd12ee2f
jdt.checksum.value=7d38921ae374a5112e7ed5596d85955b608ddf74849373d7a74b199961514807e749d8c8cad89871fa1fdd5e14bc6ec471665546a9f8d313da5c963589c307b0
jdt.home=${base.path}/ecj-${jdt.version}
jdt.jar=${jdt.home}/ecj-${jdt.version}.jar
# The download will be moved to the archive area eventually. We are taking care of that in advance.
......@@ -141,19 +141,19 @@ jdt.loc.1=http://archive.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj
jdt.loc.2=http://download.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
# ----- Tomcat native library -----
tomcat-native.version=1.2.21
tomcat-native.version=1.2.23
tomcat-native.src.checksum.enabled=true
tomcat-native.src.checksum.algorithm=SHA-512
tomcat-native.src.checksum.value=7f43f815785e5bc3e43f5b2e9ad1c90576a3c1528d57230328b7175bf475eb5f4e1f91b66fae74ad32cd76f044d7705f98a79109f6f84e5af75dc32bc8830b29
tomcat-native.src.checksum.value=89a0363961d322a87f4e752f4727f54f28ac6e4ad10fa21b6b7390c62b041d4068672d95495d9233c1cad7d6c1dc3c85fbd0186894085b3b94e476876af160ee
tomcat-native.win.checksum.enabled=true
tomcat-native.win.checksum.algorithm=SHA-512
tomcat-native.win.checksum.value=bd5e7bb6584cba635d780216b87d453ecca5034235f018ba8a7429b82d653aa58cf26b89520c60271e10f242bd8a10fce401f362ecfe0fab597c7b6983ad97ce
tomcat-native.win.checksum.value=b5d91d709241fea5f18fbaf2eb1dbad3c3014309ac72dfc10c0eb7c2f926a8e37a4c326ce251552bbd2b1f15b86c84ae72c33a259cc051765ab4322c91b5721b
tomcat-native.home=${base.path}/tomcat-native-${tomcat-native.version}
tomcat-native.tar.gz=${tomcat-native.home}/tomcat-native.tar.gz
tomcat-native.loc.1=${base-tomcat.loc.1}/tomcat-connectors/native/${tomcat-native.version}/source/tomcat-native-${tomcat-native.version}-src.tar.gz
tomcat-native.loc.2=${base-tomcat.loc.2}/tomcat-connectors/native/${tomcat-native.version}/source/tomcat-native-${tomcat-native.version}-src.tar.gz
tomcat-native.win.1=${base-tomcat.loc.1}/tomcat-connectors/native/${tomcat-native.version}/binaries/tomcat-native-${tomcat-native.version}-openssl-1.1.1a-win32-bin.zip
tomcat-native.win.2=${base-tomcat.loc.2}/tomcat-connectors/native/${tomcat-native.version}/binaries/tomcat-native-${tomcat-native.version}-openssl-1.1.1a-win32-bin.zip
tomcat-native.win.1=${base-tomcat.loc.1}/tomcat-connectors/native/${tomcat-native.version}/binaries/tomcat-native-${tomcat-native.version}-openssl-1.1.1c-win32-bin.zip
tomcat-native.win.2=${base-tomcat.loc.2}/tomcat-connectors/native/${tomcat-native.version}/binaries/tomcat-native-${tomcat-native.version}-openssl-1.1.1c-win32-bin.zip
# ----- NSIS, version 3.0 or later -----
nsis.version=3.04
......@@ -264,13 +264,13 @@ cobertura.jar=${cobertura.home}/cobertura-${cobertura.version}.jar
cobertura.loc=${base-sf.loc}/cobertura/cobertura-2.1.1-bin.tar.gz
# ----- Findbugs -----
findbugs.version=3.0.1
findbugs.version=3.1.12
findbugs.checksum.enabled=true
findbugs.checksum.algorithm=MD5|SHA-1
findbugs.checksum.value=dec8828de8657910fcb258ce5383c168|59a24064ca6869e483ce9a04d3c50d14a227d5e6
findbugs.home=${base.path}/findbugs-${findbugs.version}
findbugs.jar=${findbugs.home}/lib/findbugs-ant.jar
findbugs.loc=${base-sf.loc}/project/findbugs/findbugs/${findbugs.version}/findbugs-${findbugs.version}.tar.gz
findbugs.checksum.value=8c54502a8e1b78ea6b173a186ce6f379|95114d9aaeeba7bd4ea5a3d6a2167cd6c87bb943
findbugs.home=${base.path}/spotbugs-${findbugs.version}
findbugs.jar=${findbugs.home}/lib/spotbugs-ant.jar
findbugs.loc=${base-maven.loc}/com/github/spotbugs/spotbugs/${findbugs.version}/spotbugs-${findbugs.version}.tgz
# ----- SAAJ API, used by Code Signing for releases -----
# ----- No longer part of JRE from Java 11 onwards -----
......
......@@ -258,8 +258,10 @@
<include name="**/*.dtd"/>
<include name="**/*.htm"/>
<include name="**/*.html"/>
<include name="**/*.iml"/>
<include name="**/*.ini"/>
<include name="**/*.java"/>
<include name="**/*.jj"/>
<include name="**/*.jjt"/>
<include name="**/*.json"/>
<include name="**/*.jsp"/>
......@@ -291,6 +293,8 @@
<include name="**/*.xml"/>
<include name="**/*.xsd"/>
<include name="**/*.xsl"/>
<include name="**/*.yaml"/>
<include name="**/Dockerfile"/>
<!-- Exclude files that use 16-bit encodings. -->
<!-- This prevents fixcrlf corrupting them during a release -->
<exclude name="**/bom-none-prolog-utf16?e.jspx"/>
......@@ -490,6 +494,11 @@
<!-- =========================== Build targets =========================== -->
<!-- Output the merged properties for the current Ant environment -->
<target name="echoproperties">
<echoproperties/>
</target>
<target name="build-prepare">
<!-- Required so we can compile -->
......@@ -564,6 +573,7 @@
<exclude name="**/*_2.xml"/>
<exclude name="res/checkstyle/header-al2.txt"/>
<!-- Exclude auto-generated files -->
<exclude name="java/org/apache/el/parser/ELParser.jj" />
<exclude name="java/org/apache/el/parser/ELParser*.java" />
<exclude name="java/org/apache/el/parser/Node.java" />
<exclude name="java/org/apache/**/parser/JJT*ParserState.java" />
......@@ -615,7 +625,6 @@
source="${compile.source}"
target="${compile.target}"
release="${compile.release}"
excludes="**/.svn/**"
encoding="ISO-8859-1"
includeAntRuntime="true" >
<!-- Uncomment this to show unchecked warnings:
......@@ -628,7 +637,7 @@
classname="org.apache.tomcat.buildutil.CheckEol"
classpath="${tomcat.classes}" />
<checkeol>
<checkeol mode="LF">
<fileset dir="." >
<patternset refid="text.files" />
<include name="**/*.bat"/>
......@@ -671,7 +680,6 @@
source="${compile.source}"
target="${compile.target}"
release="${compile.release}"
excludes="**/.svn/**"
encoding="ISO-8859-1"
includeAntRuntime="true" >
<!-- Uncomment this to show unchecked warnings:
......@@ -1193,7 +1201,6 @@
target="${compile.target}"
release="${compile.release}"
classpath="${tomcat.classes}"
excludes="**/CVS/**,**/.svn/**"
encoding="ISO-8859-1"
includeantruntime="false">
</javac>
......@@ -1206,10 +1213,18 @@
target="${compile.target}"
release="${compile.release}"
classpath="${tomcat.classes}"
excludes="**/CVS/**,**/.svn/**"
encoding="ISO-8859-1"
includeantruntime="false">
</javac>
<!-- Convert the message files of the examples webapp from UTF-8 to ASCII.
This can be removed after upgrading to Java 9+ as the minimum JRE and
specifying the encoding when loading the ResourceBundles -->
<native2ascii src="webapps/examples/WEB-INF/classes"
dest="${tomcat.build}/webapps/examples/WEB-INF/classes"
includes="**/LocalStrings*.properties"
encoding="UTF-8"/>
</target>
<target name="build-tomcat-jdbc" depends="package">
......@@ -1459,7 +1474,13 @@
<property name="junit.formatter.extension" value=".txt" />
<target name="test" description="Runs the JUnit test cases"
depends="test-nio,test-nio2,test-apr,cobertura-report" >
depends="test-nio,test-nio2,test-apr,cobertura-report,test-status" />
<target name="test-only" description="Runs the JUnit test cases without additional processing"
depends="test-only-nio,test-only-nio2,test-only-apr,test-status" />
<target name="test-status"
description="Analyses logs directory and reports on skipped tests, test failures and test errors">
<fileset id="test.result.skippedtests" dir="${test.reports}" includes="*.txt">
<not>
<contains text="Skipped: 0" />
......@@ -1499,12 +1520,24 @@
extension=".NIO" />
</target>
<target name="test-only-nio" description="Runs the JUnit test cases for NIO. Does not stop on errors."
depends="cobertura-disabled,test-openssl-exists" if="${execute.test.nio}">
<runtests protocol="org.apache.coyote.http11.Http11NioProtocol"
extension=".NIO" />
</target>
<target name="test-nio2" description="Runs the JUnit test cases for NIO2. Does not stop on errors."
depends="test-compile,deploy,cobertura-instrument,test-openssl-exists" if="${execute.test.nio2}">
<runtests protocol="org.apache.coyote.http11.Http11Nio2Protocol"
extension=".NIO2" />
</target>
<target name="test-only-nio2" description="Runs the JUnit test cases for NIO2. Does not stop on errors."
depends="cobertura-disabled,test-openssl-exists" if="${execute.test.nio2}">
<runtests protocol="org.apache.coyote.http11.Http11Nio2Protocol"
extension=".NIO2" />
</target>
<target name="test-apr" description="Runs the JUnit test cases for APR. Does not stop on errors."
depends="test-compile,deploy,test-apr-exists,cobertura-instrument,test-openssl-exists"
if="${apr.exists}">
......@@ -1512,6 +1545,12 @@
extension=".APR" />
</target>
<target name="test-only-apr" description="Runs the JUnit test cases for APR. Does not stop on errors."
depends="cobertura-disabled,test-openssl-exists" if="${execute.test.apr}">
<runtests protocol="org.apache.coyote.http11.Http11AprProtocol"
extension=".APR" />
</target>
<target name="test-apr-exists" description="Checks for APR lib"
if="${execute.test.apr}">
<available file="${test.apr.loc}" property="apr.exists" />
......@@ -1565,8 +1604,10 @@
<sysproperty key="tomcat.test.accesslog" value="${test.accesslog}" />
<sysproperty key="tomcat.test.reports" value="${test.reports}" />
<sysproperty key="tomcat.test.openssl.path" value="${test.openssl.path}" />
<sysproperty key="tomcat.test.openssl.unimplemented" value="${test.openssl.unimplemented}" />
<sysproperty key="tomcat.test.relaxTiming" value="${test.relaxTiming}" />
<sysproperty key="tomcat.test.sslImplementation" value="${test.sslImplementation}" />
<sysproperty key="tomcat.test.http2.loopCount" value="${test.http2.loopCount}" />
<!-- File for Cobertura to write coverage results to -->
<sysproperty key="net.sourceforge.cobertura.datafile" file="${cobertura.datafile}" />
......@@ -2007,16 +2048,22 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
-->
<filename name="**/build.properties"/>
<filename name="**/mvn.properties"/>
<and>
<!-- Don't exclude the ide support sample files for idea -->
<filename name="**/*.iml" />
<not>
<filename name="res/ide-support/idea/**" />
</not>
</and>
<filename name="**/*.asc" />
<filename name="**/*.tmp" />
<filename name="**/*.jj" />
<filename name="**/maven-ant-tasks-*.jar" />
<filename name="**/thumbs.db" />
<filename name="**/Thumbs.db" />
<filename name="*.launch"/>
<filename name="bin/setenv.*" />
<filename name="java/org/apache/catalina/startup/catalina.properties" />
<filename name="java/org/apache/el/parser/ELParser.jj" />
<filename name="logs/**" />
<filename name="webapps/docs/jdbc-pool.xml" />
<filename name="work/**" />
......
......@@ -104,6 +104,11 @@
<!-- showServerInfo Should server information be presented in the -->
<!-- response sent to clients when directory -->
<!-- listings is enabled? [true] -->
<!-- -->
<!-- allowPartialPut Should the server treat an HTTP PUT request -->
<!-- with a Range header as a partial PUT? Note -->
<!-- that RFC 7233 clarified that Range headers are -->
<!-- only valid for GET requests. [true] -->
<servlet>
<servlet-name>default</servlet-name>
......@@ -346,6 +351,28 @@
<!-- If not set, then webAppRootDir is used. -->
<!-- Recommended value: WEB-INF/cgi -->
<!-- -->
<!-- cmdLineArgumentsDecoded -->
<!-- Only used when enableCmdLineArguments is -->
<!-- true. The pattern that individual decoded -->
<!-- command line arguments must match else the -->
<!-- request will be rejected. This is to -->
<!-- work-around various issues when Java passes -->
<!-- the arguments to the OS. See the CGI How-To -->
<!-- for more details. The default varies by -->
<!-- platform. -->
<!-- Windows: [[a-zA-Z0-9\Q-_.\\/:\E]+] -->
<!-- Others: [.*] -->
<!-- Note that internally the CGI Servlet treats -->
<!-- [.*] as a special case to improve performance -->
<!-- -->
<!-- cmdLineArgumentsEncoded -->
<!-- Only used when enableCmdLineArguments is -->
<!-- true. The pattern that individual encoded -->
<!-- command line arguments must match else the -->
<!-- request will be rejected. The default matches -->
<!-- the allowed values defined by RFC3875. -->
<!-- [[a-zA-Z0-9\Q%;/?:@&,$-_.!~*'()\E]+] -->
<!-- -->
<!-- enableCmdLineArguments -->
<!-- Are command line parameters generated from -->
<!-- the query string as per section 4.4 of 3875 -->
......
......@@ -48,7 +48,7 @@ public abstract class ELContext {
}
/**
* Mark the given property as resolved and notfy any interested listeners.
* Mark the given property as resolved and notify any interested listeners.
*
* @param base The base object on which the property was found
* @param property The property that was resolved
......
......@@ -24,8 +24,8 @@ import java.util.Set;
* included in the JAR file that contains the SCI implementation.
* <p>
* SCI processing is performed regardless of the setting of metadata-complete.
* SCI processing can be controlled per JAR file via fragment ordering. If an
* absolute ordering is defined, the only those JARs included in the ordering
* SCI processing can be controlled per JAR file via fragment ordering. If
* absolute ordering is defined, then only the JARs included in the ordering
* will be processed for SCIs. To disable SCI processing completely, an empty
* absolute ordering may be defined.
* <p>
......
......@@ -46,9 +46,13 @@
only if the new code is made subject to such option by the copyright
holder.
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
The Apache Software Foundation elects to include this software under the
CDDL license.
</xsd:documentation>
</xsd:annotation>
......
......@@ -47,9 +47,13 @@
only if the new code is made subject to such option by the copyright
holder.
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
The Apache Software Foundation elects to include this software under the
CDDL license.
</xsd:documentation>
</xsd:annotation>
......@@ -489,7 +493,7 @@
<xsd:documentation>
The jaxrpc-mapping-file element contains the name of a file that
describes the JAX-RPC mapping between the Java interaces used by
describes the JAX-RPC mapping between the Java interfaces used by
the application and the WSDL description in the wsdl-file. The
file name is a relative path within the module.
......
......@@ -47,9 +47,13 @@
only if the new code is made subject to such option by the copyright
holder.
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
The Apache Software Foundation elects to include this software under the
CDDL license.
</xsd:documentation>
</xsd:annotation>
......@@ -149,7 +153,7 @@
<xsd:documentation>
The jaxrpc-mapping-file element contains the name of a file that
describes the JAX-RPC mapping between the Java interaces used by
describes the JAX-RPC mapping between the Java interfaces used by
the application and the WSDL description in the wsdl-file. The
file name is a relative path within the module file.
......
......@@ -47,9 +47,13 @@
only if the new code is made subject to such option by the copyright
holder.
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
The Apache Software Foundation elects to include this software under the
CDDL license.
</xsd:documentation>
</xsd:annotation>
......
......@@ -47,9 +47,13 @@
only if the new code is made subject to such option by the copyright
holder.
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
The Apache Software Foundation elects to include this software under the
CDDL license.
</xsd:documentation>
</xsd:annotation>
......
......@@ -47,9 +47,13 @@
only if the new code is made subject to such option by the copyright
holder.
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
The Apache Software Foundation elects to include this software under the
CDDL license.
</xsd:documentation>
</xsd:annotation>
......
......@@ -930,6 +930,14 @@ public interface Context extends Container, ContextBind {
public void addWrapperListener(String listener);
/**
* Factory method to create and return a new InstanceManager
* instance. This can be used for framework integration or easier
* configuration with custom Context implementations.
* @return the instance manager
*/
public InstanceManager createInstanceManager();
/**
* Factory method to create and return a new Wrapper instance, of
* the Java implementation class appropriate for this Context
......
......@@ -124,7 +124,8 @@ public interface WebResource {
InputStream getInputStream();
/**
* @return the cached binary content of this resource.
* @return the binary content of this resource or {@code null} if it is not
* available in a byte[] because, for example, it is too big.
*/
byte[] getContent();
......
......@@ -549,8 +549,8 @@ public abstract class AuthenticatorBase extends ValveBase
request.getCoyoteRequest().getMimeHeaders().getValue("authorization") != null;
}
if (!authRequired && context.getPreemptiveAuthentication()
&& HttpServletRequest.CLIENT_CERT_AUTH.equals(getAuthMethod())) {
if (!authRequired && context.getPreemptiveAuthentication() &&
HttpServletRequest.CLIENT_CERT_AUTH.equals(getAuthMethod())) {
X509Certificate[] certs = getRequestCertificates(request);
authRequired = certs != null && certs.length > 0;
}
......@@ -1064,8 +1064,8 @@ public abstract class AuthenticatorBase extends ValveBase
// Configure httpOnly on SSO cookie using same rules as session
// cookies
if (request.getServletContext().getSessionCookieConfig().isHttpOnly()
|| request.getContext().getUseHttpOnly()) {
if (request.getServletContext().getSessionCookieConfig().isHttpOnly() ||
request.getContext().getUseHttpOnly()) {
cookie.setHttpOnly(true);
}
......