Skip to content
Commits on Source (11)
......@@ -30,6 +30,8 @@ mvn.properties
.settings
.idea
*.iml
*.ipr
*.iws
*.asc
*.jj
*.tmp
......
......@@ -93,13 +93,13 @@ source distribution, do the following:
(3.1) Checkout or obtain the source code for Tomcat @VERSION_MAJOR_MINOR@
Checkout the source using SVN, selecting a tag for released version or
trunk for the current development code, or download and unpack a source
Clone the source using git, then checkout a specific major branch or
master for the latest code development, or download and unpack a source
package.
* Tomcat SVN repository URL:
* Tomcat GitHub repository URL:
https://svn.apache.org/repos/asf/tomcat/tc@VERSION_MAJOR_MINOR@.x/trunk/
https://github.com/apache/tomcat
* Source packages can be downloaded from:
......@@ -184,7 +184,7 @@ each release package has the appropriate line-endings.
(4) Updating sources and rebuilding
It is recommended that you regularly update the downloaded Tomcat @VERSION_MAJOR_MINOR@
sources using your SVN client.
sources using your git client.
For a quick rebuild of only modified code you can use:
......@@ -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:
......
# Contributing to Apache Tomcat
Firstly, thanks for your interest in contributing! I hope that this will be a
pleasant first experience for you, and that you will return to continue
pleasant experience for you, and that you will return to continue
contributing.
Please visit our [Get Involved page](https://tomcat.apache.org/getinvolved.html)
......@@ -38,12 +38,12 @@ the issues marked 'Beginner', link below. Please note that the Beginner keyword
is pretty new to the project, so if there aren't any issues in the filter feel
free to ask on the [dev list](https://tomcat.apache.org/lists.html#tomcat-dev).
* [Beginner issues](https://bz.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&keywords=Beginner&keywords_type=allwords&list_id=160824&product=Tomcat%207&product=Tomcat%208&product=Tomcat%209&query_format=advanced) -
* [Beginner issues](https://bz.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&keywords=Beginner&keywords_type=allwords&list_id=160824&product=Tomcat%207&product=Tomcat%208.5&product=Tomcat%209&query_format=advanced) -
issues which should only require a few lines of code, and a test or two to
resolve.
The list above shows all bugs that are marked 'Beginner' and are open in the
currently supported Tomcat versions (7, 8, and 9).
currently supported Tomcat versions (7, 8.5, and 9).
If you prefer C over Java, you may also take a look at the tomcat-native and
Tomcat Connectors products in Bugzilla.
......@@ -57,11 +57,8 @@ committers of the project for review and acceptance.
You can provide a patch in one of the following ways (in order of preference):
* GitHub Pull Request
* Patch attachment to the Bugzilla issue
* Github Pull Request
> **Note:** Github is a mirror of the SVN repository that Tomcat is stored in
and therefore it can't be merged outright. Your contribution will be converted
into an SVN patch and committed with a mention of your name for credit.
* Email the patch to the developer list. This is not preferred, but if no bug
is associated with the patch, or you would like a developer review, an email
may be appropriate.
......@@ -73,51 +70,43 @@ source code.
###### Download The Source Distribution
This method works if you want to submit a patch (like you would do for SVN), but
This method works if you want to submit a patch via email, but
the difference in using the sources distribution and a VCS is that you have to
manually generate the patch file by using diff. If this is what you want, you
can download the sources from the "Source Code Distributions" section of the
Download Page. There is one such page for every major Tomcat version:
- [Tomcat 9](https://tomcat.apache.org/download-90.cgi)
- [Tomcat 8](https://tomcat.apache.org/download-80.cgi)
- [Tomcat 7](https://tomcat.apache.org/download-70.cgi)
###### SVN
##### Manual Patch Generation
If you have chosen to attach a patch to the Bugzilla issue (or email
one), then you'll need to checkout the SVN version. Instructions for new
committers to learn how to do this are found
[here](https://www.apache.org/dev/contributors.html#svnbasics). However, in the
interest of a fast ramp up, the short version is below. Note that the root of
the SVN repository is
[tomcat/trunk](https://svn.apache.org/repos/asf/tomcat/trunk),
but you can clone specific versions too, such as
[tc8.5.x](https://svn.apache.org/repos/asf/tomcat/tc8.5.x/trunk/) or even tags (
[TOMCAT_8_5_15](https://svn.apache.org/repos/asf/tomcat/tc8.5.x/tags/TOMCAT_8_5_15/)).
one), then you'll need to download the sources as noted above, make your
desired changes and then manually generate your patch using diff (other
other tool).
```
$ svn co https://svn.apache.org/repos/asf/tomcat/trunk/
```
##### GitHub
##### Github
For Github, it's almost the same. Chose the major version that you want (for
now they're in different repositories), fork the repository, and then clone
your fork to do that work.
To submit a GitHub Pull Request you'll need to fork the
[repository](https://github.com/apache/tomcat), clone your fork to do the work:
```
$ git clone https://github.com/$USERNAME/tomcat.git
```
and then push your changes, and submit a Pull Request via the GitHub UI.
#### Submitting Your Patch!
After you've chosen your method of submission, retrieved the sources, and
fixed the issue it's time to submit your work. At this point, just follow
the method of submission you chose earlier.
* Bugzilla attachment - attach the SVN patch to the Bugzilla issue
* Github PR - after resolving the issue in your local fork and pushing to your
copy of the repository, open a Github PR for review.
* GitHub PR - after resolving the issue in your local fork and pushing to your
copy of the repository, open a GitHub PR for review.
* Bugzilla attachment - attach the patch to the Bugzilla issue
* Email - again, not preferred, but you may send an email to the developer list
with a patch attached for review.
......
......@@ -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()
......@@ -33,14 +33,6 @@
# will be redirected.
# Default is $CATALINA_BASE/logs/catalina.out
#
# CATALINA_OUT_CMD (Optional) Command which will be executed and receive
# as its stdin the stdout and stderr from the Tomcat java
# process. If CATALINA_OUT_CMD is set, the value of
# CATALINA_OUT will be ignored.
# No default.
# Example (all one line)
# CATALINA_OUT_CMD="cronolog $CATALINA_BASE/logs/catalina.%Y-%m-%d.out >/dev/null 2>&1"
#
# CATALINA_OPTS (Optional) Java runtime options used when the "start",
# "run" or "debug" command is executed.
# Include here and not in JAVA_OPTS all options, that should
......@@ -236,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
......@@ -451,23 +443,13 @@ elif [ "$1" = "start" ] ; then
fi
shift
if [ -z "$CATALINA_OUT_CMD" ] ; then
touch "$CATALINA_OUT"
catalina_out_command=">> \"$CATALINA_OUT\" 2>&1"
else
catalina_out_command="| $CATALINA_OUT_CMD"
fi
if [ ! -z "$CATALINA_PID" ]; then
catalina_pid_file="$CATALINA_PID"
else
catalina_pid_file=/dev/null
fi
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval \{ $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
-classpath "\"$CLASSPATH\"" \
-Djava.security.manager \
......@@ -476,20 +458,24 @@ elif [ "$1" = "start" ] ; then
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start \
2\>\&1 \&\& echo \$! \>\"$catalina_pid_file\" \; \} $catalina_out_command "&"
>> "$CATALINA_OUT" 2>&1 "&"
else
eval \{ $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
-classpath "\"$CLASSPATH\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start \
2\>\&1 \&\& echo \$! \>\"$catalina_pid_file\" \; \} $catalina_out_command "&"
>> "$CATALINA_OUT" 2>&1 "&"
fi
if [ ! -z "$CATALINA_PID" ]; then
echo $! > "$CATALINA_PID"
fi
echo "Tomcat started."
elif [ "$1" = "stop" ] ; then
......
......@@ -25,7 +25,7 @@
# ----- Version Control Flags -----
version.major=9
version.minor=0
version.build=16
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>
......@@ -1205,11 +1212,19 @@
source="${compile.source}"
target="${compile.target}"
release="${compile.release}"
classpath="$tomcat.lcasses}"
excludes="**/CVS/**,**/.svn/**"
classpath="${tomcat.classes}"
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/**" />
......@@ -2616,7 +2663,7 @@ skip.installer property in build.properties" />
</target>
<target name="download-compile"
description="Download (and build) components necessary to compile" >
description="Download components necessary to compile" >
<!-- Download Commons Daemon -->
<antcall target="downloadgz-2">
......
......@@ -115,10 +115,8 @@ aspectj*.jar,\
bootstrap.jar,\
catalina-ant.jar,\
catalina-ha.jar,\
catalina-jmx-remote.jar,\
catalina-storeconfig.jar,\
catalina-tribes.jar,\
catalina-ws.jar,\
catalina.jar,\
cglib-*.jar,\
cobertura-*.jar,\
......@@ -172,16 +170,7 @@ tagsoup-*.jar,\
tomcat-api.jar,\
tomcat-coyote.jar,\
tomcat-dbcp.jar,\
tomcat-i18n-cs.jar,\
tomcat-i18n-de.jar,\
tomcat-i18n-en.jar,\
tomcat-i18n-es.jar,\
tomcat-i18n-fr.jar,\
tomcat-i18n-ja.jar,\
tomcat-i18n-ko.jar,\
tomcat-i18n-pt-BR.jar,\
tomcat-i18n-ru.jar,\
tomcat-i18n-zh-CN.jar,\
tomcat-i18n-*.jar,\
tomcat-jdbc.jar,\
tomcat-jni.jar,\
tomcat-juli-adapters.jar,\
......
......@@ -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 -->
......
tomcat9 (9.0.22-1) unstable; urgency=medium
* New upstream release
- Refreshed the patches
* Track and download the new releases from GitHub
* Standards-Version updated to 4.4.0
-- Emmanuel Bourg <ebourg@apache.org> Fri, 12 Jul 2019 15:01:28 +0200
tomcat9 (9.0.16-4) unstable; urgency=medium
* Team upload.
......
......@@ -24,7 +24,7 @@ Build-Depends:
libwsdl4j-java,
lsb-release,
maven-repo-helper
Standards-Version: 4.3.0
Standards-Version: 4.4.0
Vcs-Git: https://salsa.debian.org/java-team/tomcat9.git
Vcs-Browser: https://salsa.debian.org/java-team/tomcat9
Homepage: http://tomcat.apache.org
......
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Apache Tomcat
Source: https://tomcat.apache.org/download-90.cgi
Files-Excluded: */taglibs-standard-*.jar
Files: *
Copyright: 2000-2018, The Apache Software Foundation.
......
#!/bin/sh -e
VERSION=$2
TAR=../tomcat9_$VERSION.orig.tar.xz
DIR=tomcat9-$VERSION
TAG=$(echo TOMCAT_$VERSION | sed -e 's/[\.~]/_/g')
svn export https://svn.apache.org/repos/asf/tomcat/tags/$TAG $DIR
tar -c -J -f $TAR --exclude 'taglibs-standard-*.jar' $DIR
rm -rf $DIR ../$TAG $3
......@@ -3,7 +3,7 @@ Date: Mon, 28 Jun 2010 21:32:35 +0200
Subject: [PATCH] split deploy-webapps target from deploy target
--- a/build.xml
+++ b/build.xml
@@ -1112,7 +1112,7 @@
@@ -1120,7 +1120,7 @@
</xslt>
</target>
......@@ -12,7 +12,7 @@ Subject: [PATCH] split deploy-webapps target from deploy target
description="Default. Builds a working Tomcat instance">
<copy tofile="${tomcat.build}/bin/commons-daemon.jar" file="${commons-daemon.jar}" />
@@ -1146,6 +1146,10 @@
@@ -1154,6 +1154,10 @@
</fileset>
</copy>
......
......@@ -3,7 +3,7 @@ Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
--- a/build.xml
+++ b/build.xml
@@ -1493,8 +1493,10 @@
@@ -1514,8 +1514,10 @@
</filterchain>
</concat>
......
......@@ -9,7 +9,7 @@ Bug-Debian: http://bugs.debian.org/585379
Forwarded: not-needed
--- a/bin/catalina.sh
+++ b/bin/catalina.sh
@@ -364,7 +364,7 @@
@@ -356,7 +356,7 @@
-classpath "$CLASSPATH" \
-sourcepath "$CATALINA_HOME"/../../java \
-Djava.security.manager \
......@@ -18,7 +18,7 @@ Forwarded: not-needed
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
@@ -393,7 +393,7 @@
@@ -385,7 +385,7 @@
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
-classpath "\"$CLASSPATH\"" \
-Djava.security.manager \
......@@ -27,7 +27,7 @@ Forwarded: not-needed
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
@@ -471,7 +471,7 @@
@@ -453,7 +453,7 @@
-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \
-classpath "\"$CLASSPATH\"" \
-Djava.security.manager \
......
......@@ -5,7 +5,7 @@ Last-Update: 2011-05-16
--- a/build.xml
+++ b/build.xml
@@ -663,7 +663,7 @@
@@ -672,7 +672,7 @@
</copy>
</target>
......@@ -14,7 +14,7 @@ Last-Update: 2011-05-16
<!-- Compile internal server components -->
<javac srcdir="java" destdir="${tomcat.classes}"
debug="${compile.debug}"
@@ -1114,9 +1114,9 @@
@@ -1122,9 +1122,9 @@
<target name="deploy" depends="package,build-docs,build-tomcat-jdbc,compile-webapp-examples,deploy-webapps"
description="Default. Builds a working Tomcat instance">
......
......@@ -5,7 +5,7 @@ Author: Jakub Adam <jakub.adam@ktknet.cz>
Forwarded: not-needed
--- a/build.xml
+++ b/build.xml
@@ -511,7 +511,6 @@
@@ -520,7 +520,6 @@
<!-- Property that determines if manifests need updating -->
<uptodate property="manifests.uptodate"
targetfile="${tomcat.manifests}/default.manifest" >
......@@ -13,7 +13,7 @@ Forwarded: not-needed
<srcfiles file="${basedir}/build.properties" />
<srcfiles file="${basedir}/build.properties.default" />
<srcfiles file="${basedir}/build.xml" />
@@ -525,7 +524,6 @@
@@ -534,7 +533,6 @@
<!-- Property that determines if OSGI bnd files need updating -->
<uptodate property="bnd.uptodate"
targetfile="${tomcat.bnd}/annotations-api.bnd" >
......