[VOTE] Release Apache Tomcat 10.0.0-M3

2020-03-10 Thread Mark Thomas
The proposed Apache Tomcat 10.0.0-M3 release is now available for
voting.

Apache Tomcat 10.x implements Jakarta EE 9 and, as such, the primary
package for all the specification APIs has changed from javax.* to jakarta.*
Applications that run on Tomcat 9 will not run on Tomcat 10 without changes.

The major changes compared to 10.0.0-M1  are:

- Disable session persistence by default (on restart)

- Add new attribute persistAuthentication to both StandardManager and
  PersistentManager to support authentication persistence.
  Patch provided by Carsten Klein

- A zero length AJP secret will now behave as if it has not been
  specified.

Along with lots of other bug fixes and improvements.

For full details, see the changelog:
https://ci.apache.org/projects/tomcat/tomcat10/docs/changelog.html

It can be obtained from:
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.0.0-M3/
The Maven staging repo is:
https://repository.apache.org/content/repositories/orgapachetomcat-1256/
The tag is:
https://github.com/apache/tomcat/tree/10.0.0-M3
eb684224706fe1d8ef5610c8d79dc403e1038393

The proposed 10.0.0-M3 release is:
[ ] Broken - do not release
[ ] Alpha  - go ahead and release as 10.0.0-M2

I opted to only include alpha here as there are still some potentially
significant changes on the TOMCAT-NEXT list.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch master updated: Increment version for next development cycle

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/master by this push:
 new f3ab8a6  Increment version for next development cycle
f3ab8a6 is described below

commit f3ab8a62b9e7ef6c85351a6b2ebd9f1766caa340
Author: Mark Thomas 
AuthorDate: Tue Mar 10 23:21:07 2020 +

Increment version for next development cycle
---
 build.properties.default | 2 +-
 res/maven/mvn.properties.default | 2 +-
 webapps/docs/changelog.xml   | 4 +++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/build.properties.default b/build.properties.default
index 4bcae8c..f6651d2 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -27,7 +27,7 @@ version.major=10
 version.minor=0
 version.build=0
 version.patch=0
-version.suffix=-M3-dev
+version.suffix=-M4-dev
 
 # - Source control flags -
 git.branch=master
diff --git a/res/maven/mvn.properties.default b/res/maven/mvn.properties.default
index dd76357..0d7e707 100644
--- a/res/maven/mvn.properties.default
+++ b/res/maven/mvn.properties.default
@@ -39,7 +39,7 @@ 
maven.asf.release.repo.url=https://repository.apache.org/service/local/staging/d
 maven.asf.release.repo.repositoryId=apache.releases.https
 
 # Release version info
-maven.asf.release.deploy.version=10.0.0-M3
+maven.asf.release.deploy.version=10.0.0-M4
 
 #Where do we load the libraries from
 tomcat.lib.path=../../output/build/lib
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 7ea0015..92da24f 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -44,7 +44,9 @@
   They eventually become mixed with the numbered issues (i.e., numbered
   issues do not "pop up" wrt. others).
 -->
-
+
+
+
   
 
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Nexus: Staging Completed

2020-03-10 Thread Nexus Repository Manager
Message from: https://repository.apache.orgDeployer properties:"userAgent" = "maven-artifact/2.2.1 (Java 1.8.0_242; Windows 10 10.0)""userId" = "markt""ip" = "86.190.55.221"Details:The following artifacts have been staged/org/apache/tomcat/tomcat-i18n-de/10.0.0-M3/tomcat-i18n-de-10.0.0-M3.pom.asc(SHA1: accb8307e6cdcddc563a8c06293e19ce56d18c8b)/org/apache/tomcat/tomcat-i18n-de/10.0.0-M3/tomcat-i18n-de-10.0.0-M3.jar.asc(SHA1: fc712071a69ca2854777b22c53e6a6135b30dc02)/org/apache/tomcat/tomcat-i18n-de/10.0.0-M3/tomcat-i18n-de-10.0.0-M3.pom(SHA1: 67983ee3326a5dd61bb703f47a79da3be7c8160f)/org/apache/tomcat/tomcat-i18n-de/10.0.0-M3/tomcat-i18n-de-10.0.0-M3.jar(SHA1: d03a653348946af0ebc75de6ba1fea59b453578f)/org/apache/tomcat/tomcat-jni/10.0.0-M3/tomcat-jni-10.0.0-M3.jar(SHA1: ebe449bcbd47734c5ea0ebeb3cab79bb9db05700)/org/apache/tomcat/tomcat-jni/10.0.0-M3/tomcat-jni-10.0.0-M3-sources.jar(SHA1: b4086acfabed1a5b6aa865168672f4aa057f3e03)/org/apache/tomcat/tomcat-jni/10.0.0-M3/tomcat-jni-10.0.0-M3-sources.jar.asc(SHA1: 9e59a3837b05debf4991f2e9f6c551c020f888af)/org/apache/tomcat/tomcat-jni/10.0.0-M3/tomcat-jni-10.0.0-M3.jar.asc(SHA1: e5313dcefaa44673dfa32a240e1640eddf66cb77)/org/apache/tomcat/tomcat-jni/10.0.0-M3/tomcat-jni-10.0.0-M3.pom(SHA1: 546871170c8f6f62b39aae304c181e1112565520)/org/apache/tomcat/tomcat-jni/10.0.0-M3/tomcat-jni-10.0.0-M3.pom.asc(SHA1: a8e15d92f3137acc935e5996ac457e3f83c5fdae)/org/apache/tomcat/tomcat-juli/10.0.0-M3/tomcat-juli-10.0.0-M3.jar(SHA1: d1bcc490ef0f1c55c88d2b72d95346d39a6f4ed9)/org/apache/tomcat/tomcat-juli/10.0.0-M3/tomcat-juli-10.0.0-M3-sources.jar(SHA1: d62b61dfe43ed62be727fb521a60acdbcb10b783)/org/apache/tomcat/tomcat-juli/10.0.0-M3/tomcat-juli-10.0.0-M3-sources.jar.asc(SHA1: fd0e020565b4ba826508b87636a41f0c83036efa)/org/apache/tomcat/tomcat-juli/10.0.0-M3/tomcat-juli-10.0.0-M3.pom.asc(SHA1: 1d1e3ed66ad86cf48a7a43f1fe44ae6eb60c5e05)/org/apache/tomcat/tomcat-juli/10.0.0-M3/tomcat-juli-10.0.0-M3.jar.asc(SHA1: 3f1cd62ef23960247561fb48f7eb8b7fd601b354)/org/apache/tomcat/tomcat-juli/10.0.0-M3/tomcat-juli-10.0.0-M3.pom(SHA1: f6c1846759a7decd3bcb625e65875f9f77607aae)/org/apache/tomcat/tomcat-util/10.0.0-M3/tomcat-util-10.0.0-M3.pom.asc(SHA1: 567f97c88010f45eb43186dd07e0182410855ff1)/org/apache/tomcat/tomcat-util/10.0.0-M3/tomcat-util-10.0.0-M3.jar.asc(SHA1: 10c2374059ce65ecebf4745f0d9f4d98029b93ec)/org/apache/tomcat/tomcat-util/10.0.0-M3/tomcat-util-10.0.0-M3-sources.jar(SHA1: 6f4781cf83fd28b08d6c185667af7ff70f1b5ba6)/org/apache/tomcat/tomcat-util/10.0.0-M3/tomcat-util-10.0.0-M3.jar(SHA1: e48d3a633ec28fc7a7fd7402dffd5d3259596b8c)/org/apache/tomcat/tomcat-util/10.0.0-M3/tomcat-util-10.0.0-M3-sources.jar.asc(SHA1: 23dc97f30f54b2a4bbee3dc82f426cc94b86883e)/org/apache/tomcat/tomcat-util/10.0.0-M3/tomcat-util-10.0.0-M3.pom(SHA1: 52261d15db6cb424527b7fcc0f751b05f8b19a9a)/org/apache/tomcat/tomcat-catalina/10.0.0-M3/tomcat-catalina-10.0.0-M3.pom.asc(SHA1: 3b2a60a9ac3069526ae166d3ffdfc9ab66e65e2d)/org/apache/tomcat/tomcat-catalina/10.0.0-M3/tomcat-catalina-10.0.0-M3-sources.jar(SHA1: e0d565b073fbf05fd2c41195b8267c4bf32be752)/org/apache/tomcat/tomcat-catalina/10.0.0-M3/tomcat-catalina-10.0.0-M3.jar.asc(SHA1: b6ebeac8fbc284f223f6c274a8a717ebbaecc104)/org/apache/tomcat/tomcat-catalina/10.0.0-M3/tomcat-catalina-10.0.0-M3-sources.jar.asc(SHA1: 3f21014f2eb448c020dcb4000cad10483d8fccfa)/org/apache/tomcat/tomcat-catalina/10.0.0-M3/tomcat-catalina-10.0.0-M3.pom(SHA1: 3f2626416bea03042c9d1047656fab4e3190f04d)/org/apache/tomcat/tomcat-catalina/10.0.0-M3/tomcat-catalina-10.0.0-M3.jar(SHA1: a646c7c6f54dbd49943fa6810cf80c336751295f)/org/apache/tomcat/tomcat-i18n-fr/10.0.0-M3/tomcat-i18n-fr-10.0.0-M3.jar.asc(SHA1: 46afd7c89d3b97fadc9f2562a2fab268b091d46a)/org/apache/tomcat/tomcat-i18n-fr/10.0.0-M3/tomcat-i18n-fr-10.0.0-M3.pom(SHA1: ca23b5bf0392a21fa226db28808be065d6357e57)/org/apache/tomcat/tomcat-i18n-fr/10.0.0-M3/tomcat-i18n-fr-10.0.0-M3.pom.asc(SHA1: 65ced770c4a067a46fdbeca5dbbccc2f8f9a34d2)/org/apache/tomcat/tomcat-i18n-fr/10.0.0-M3/tomcat-i18n-fr-10.0.0-M3.jar(SHA1: 0d093a57d569f55a0c5d2a14a1bf2d64117097e2)/org/apache/tomcat/tomcat-i18n-cs/10.0.0-M3/tomcat-i18n-cs-10.0.0-M3.pom.asc(SHA1: 1fefeb1b4a03d2ac6439455225516a5af1fc315a)/org/apache/tomcat/tomcat-i18n-cs/10.0.0-M3/tomcat-i18n-cs-10.0.0-M3.jar(SHA1: 7c7b16e25847ed0dd150187040be115365819177)/org/apache/tomcat/tomcat-i18n-cs/10.0.0-M3/tomcat-i18n-cs-10.0.0-M3.jar.asc(SHA1: e22d59834be5c941d6577253347a2e4d9a7b3955)/org/apache/tomcat/tomcat-i18n-cs/10.0.0-M3/tomcat-i18n-cs-10.0.0-M3.pom(SHA1: 8dd2b367c1463f6bb590dffd95174c0c95ab7044)/org/apache/tomcat/tomcat-jdbc/10.0.0-M3/tomcat-jdbc-10.0.0-M3-sources.jar.asc(SHA1: 5f60ed578585862deb58f88ab5dbc15ad04d906c)/org/apache/tomcat/tomcat-jdbc/10.0.0-M3/tomcat-jdbc-10.0.0-M3-sources.jar(SHA1: 9b65daa7ec3a172c63eb9bbeb61436cecefd)/org/apache/tomcat/tomcat-jdbc/10.0.0-M3/tomcat-jdbc-10.0.0-M3.pom.asc(SHA1: 

Nexus: Staging Repository Dropped

2020-03-10 Thread Nexus Repository Manager
Message from: https://repository.apache.orgDeployer properties:"userAgent" = "maven-artifact/2.2.1 (Java 1.8.0_242; Windows 10 10.0)""userId" = "markt""ip" = "86.190.55.221"Details:The orgapachetomcat-1255 staging repository has been dropped.Action performed by Mark Thomas (markt)

Nexus: Staging Repository Dropped

2020-03-10 Thread Nexus Repository Manager
Message from: https://repository.apache.orgDeployer properties:"userAgent" = "maven-artifact/2.2.1 (Java 1.8.0_242; Windows 10 10.0)""userId" = "markt""ip" = "86.190.55.221"Details:The orgapachetomcat-1254 staging repository has been dropped.Action performed by Mark Thomas (markt)

svn commit: r38470 - in /dev/tomcat/tomcat-10/v10.0.0-M3: ./ bin/ bin/embed/ src/

2020-03-10 Thread markt
Author: markt
Date: Tue Mar 10 23:25:55 2020
New Revision: 38470

Log:
Upload 10.0.0-M3 for voting

Added:
dev/tomcat/tomcat-10/v10.0.0-M3/
dev/tomcat/tomcat-10/v10.0.0-M3/KEYS
dev/tomcat/tomcat-10/v10.0.0-M3/README.html
dev/tomcat/tomcat-10/v10.0.0-M3/RELEASE-NOTES
dev/tomcat/tomcat-10/v10.0.0-M3/bin/
dev/tomcat/tomcat-10/v10.0.0-M3/bin/README.html
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-deployer.tar.gz 
  (with props)

dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-deployer.tar.gz.asc

dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-deployer.tar.gz.sha512
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-deployer.zip   
(with props)
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-deployer.zip.asc

dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-deployer.zip.sha512
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-fulldocs.tar.gz 
  (with props)

dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-fulldocs.tar.gz.asc

dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-fulldocs.tar.gz.sha512
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-windows-x64.zip 
  (with props)

dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-windows-x64.zip.asc

dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-windows-x64.zip.sha512
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-windows-x86.zip 
  (with props)

dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-windows-x86.zip.asc

dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3-windows-x86.zip.sha512
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3.exe   (with 
props)
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3.exe.asc
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3.exe.sha512
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3.tar.gz   (with 
props)
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3.tar.gz.asc
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3.tar.gz.sha512
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3.zip   (with 
props)
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3.zip.asc
dev/tomcat/tomcat-10/v10.0.0-M3/bin/apache-tomcat-10.0.0-M3.zip.sha512
dev/tomcat/tomcat-10/v10.0.0-M3/bin/embed/

dev/tomcat/tomcat-10/v10.0.0-M3/bin/embed/apache-tomcat-10.0.0-M3-embed.tar.gz  
 (with props)

dev/tomcat/tomcat-10/v10.0.0-M3/bin/embed/apache-tomcat-10.0.0-M3-embed.tar.gz.asc

dev/tomcat/tomcat-10/v10.0.0-M3/bin/embed/apache-tomcat-10.0.0-M3-embed.tar.gz.sha512
dev/tomcat/tomcat-10/v10.0.0-M3/bin/embed/apache-tomcat-10.0.0-M3-embed.zip 
  (with props)

dev/tomcat/tomcat-10/v10.0.0-M3/bin/embed/apache-tomcat-10.0.0-M3-embed.zip.asc

dev/tomcat/tomcat-10/v10.0.0-M3/bin/embed/apache-tomcat-10.0.0-M3-embed.zip.sha512
dev/tomcat/tomcat-10/v10.0.0-M3/src/
dev/tomcat/tomcat-10/v10.0.0-M3/src/apache-tomcat-10.0.0-M3-src.tar.gz   
(with props)
dev/tomcat/tomcat-10/v10.0.0-M3/src/apache-tomcat-10.0.0-M3-src.tar.gz.asc

dev/tomcat/tomcat-10/v10.0.0-M3/src/apache-tomcat-10.0.0-M3-src.tar.gz.sha512
dev/tomcat/tomcat-10/v10.0.0-M3/src/apache-tomcat-10.0.0-M3-src.zip   (with 
props)
dev/tomcat/tomcat-10/v10.0.0-M3/src/apache-tomcat-10.0.0-M3-src.zip.asc
dev/tomcat/tomcat-10/v10.0.0-M3/src/apache-tomcat-10.0.0-M3-src.zip.sha512

Added: dev/tomcat/tomcat-10/v10.0.0-M3/KEYS
==
--- dev/tomcat/tomcat-10/v10.0.0-M3/KEYS (added)
+++ dev/tomcat/tomcat-10/v10.0.0-M3/KEYS Tue Mar 10 23:25:55 2020
@@ -0,0 +1,676 @@
+This file contains the PGP keys of various Apache developers.
+Please don't use them for email unless you have to. Their main
+purpose is code signing.
+
+Apache users: pgp < KEYS
+Apache developers:
+(pgpk -ll  && pgpk -xa ) >> this file.
+  or
+(gpg --fingerprint --list-sigs 
+ && gpg --armor --export ) >> this file.
+
+Apache developers: please ensure that your key is also available via the
+PGP keyservers (such as pgpkeys.mit.edu).
+
+
+Type Bits/KeyIDDate   User ID
+pub  2048/F22C4FED 2001/07/02 Andy Armstrong 
+
+-BEGIN PGP PUBLIC KEY BLOCK-
+Version: PGPfreeware 7.0.3 for non-commercial use 
+
+mQGiBDtAWuURBADZ0KUEyUkSUiTA09e7tvEbX25STsjxrR+DNTainCls+XlkVOij
+gBv216lqge9tIsS0L6hCP4OQbFf/64qVtJssX4QXdyiZGb5wpmcj0Mz602Ew8r+N
+I0S5NvmogoYWW7BlP4r61jNxO5zrr03KaijM5r4ipJdLUxyOmM6P2jRPUwCg/5gm
+bpqiYl7pXX5FgDeB36tmD+UD/06iLqOnoiKO0vMbOk7URclhCObMNrHqxTxozMTS
+B9soYURbIeArei+plYo2n+1qB12ayybjhVu3uksXRdT9bEkyxMfslvLbIpDAG8Cz
+gNftTbKx/MVS7cQU0II8BKo2Akr+1FZah+sD4ovK8SfkMXUQUbTeefTntsAQKyyU
+9M9tA/9on9tBiHFl0qVJht6N4GiJ2G689v7rS2giLgKjetjiCduxBXEgvUSuyQID

svn commit: r38469 - in /dev/tomcat: tomcat-10/v10.0.0-M2/ tomcat-8/v8.5.52/ tomcat-9/v9.0.32/

2020-03-10 Thread markt
Author: markt
Date: Tue Mar 10 23:17:04 2020
New Revision: 38469

Log:
Drop cancelled releases

Removed:
dev/tomcat/tomcat-10/v10.0.0-M2/
dev/tomcat/tomcat-8/v8.5.52/
dev/tomcat/tomcat-9/v9.0.32/


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r38468 - in /release/tomcat: tomcat-10/v10.0.0-M1/ tomcat-8/v8.5.51/ tomcat-9/v9.0.31/

2020-03-10 Thread markt
Author: markt
Date: Tue Mar 10 23:16:28 2020
New Revision: 38468

Log:
Restore accidental delete

Added:
release/tomcat/tomcat-10/v10.0.0-M1/
  - copied from r38466, release/tomcat/tomcat-10/v10.0.0-M1/
release/tomcat/tomcat-8/v8.5.51/
  - copied from r38466, release/tomcat/tomcat-8/v8.5.51/
release/tomcat/tomcat-9/v9.0.31/
  - copied from r38466, release/tomcat/tomcat-9/v9.0.31/


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r38467 - in /release/tomcat: tomcat-10/v10.0.0-M1/ tomcat-8/v8.5.51/ tomcat-9/v9.0.31/

2020-03-10 Thread Mark Thomas
Doh!

I'll fix this in a sec.

Mark

On 10/03/2020 23:13, ma...@apache.org wrote:
> Author: markt
> Date: Tue Mar 10 23:13:27 2020
> New Revision: 38467
> 
> Log:
> Drop cancelled releases
> 
> Removed:
> release/tomcat/tomcat-10/v10.0.0-M1/
> release/tomcat/tomcat-8/v8.5.51/
> release/tomcat/tomcat-9/v9.0.31/
> 
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
> 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r38467 - in /release/tomcat: tomcat-10/v10.0.0-M1/ tomcat-8/v8.5.51/ tomcat-9/v9.0.31/

2020-03-10 Thread markt
Author: markt
Date: Tue Mar 10 23:13:27 2020
New Revision: 38467

Log:
Drop cancelled releases

Removed:
release/tomcat/tomcat-10/v10.0.0-M1/
release/tomcat/tomcat-8/v8.5.51/
release/tomcat/tomcat-9/v9.0.31/


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Nexus: Staging Repository Dropped

2020-03-10 Thread Nexus Repository Manager
Message from: https://repository.apache.orgDeployer properties:"userAgent" = "maven-artifact/2.2.1 (Java 1.8.0_232; Windows 10 10.0)""userId" = "markt""ip" = "109.149.198.114"Details:The orgapachetomcat-1250 staging repository has been dropped.Action performed by Mark Thomas (markt)

Nexus: Staging Repository Dropped

2020-03-10 Thread Nexus Repository Manager
Message from: https://repository.apache.orgDeployer properties:"userAgent" = "maven-artifact/2.2.1 (Java 1.8.0_232; Windows 10 10.0)""userId" = "markt""ip" = "109.149.198.114"Details:The orgapachetomcat-1251 staging repository has been dropped.Action performed by Mark Thomas (markt)

Nexus: Staging Repository Dropped

2020-03-10 Thread Nexus Repository Manager
Message from: https://repository.apache.orgDeployer properties:"userAgent" = "maven-artifact/2.2.1 (Java 1.7.0_80; Windows 8.1 6.3)""userId" = "markt""ip" = "109.149.198.114"Details:The orgapachetomcat-1252 staging repository has been dropped.Action performed by Mark Thomas (markt)

[tomcat] tag 10.0.0-M3 created (now eb68422)

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a change to tag 10.0.0-M3
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


  at eb68422  (commit)
This tag includes the following new commits:

 new eb68422  Tag 10.0.0-M3

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 01/01: Tag 10.0.0-M3

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to tag 10.0.0-M3
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit eb684224706fe1d8ef5610c8d79dc403e1038393
Author: Mark Thomas 
AuthorDate: Tue Mar 10 23:07:46 2020 +

Tag 10.0.0-M3
---
 build.properties.default   | 2 +-
 webapps/docs/changelog.xml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/build.properties.default b/build.properties.default
index 4bcae8c..3db51a3 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -27,7 +27,7 @@ version.major=10
 version.minor=0
 version.build=0
 version.patch=0
-version.suffix=-M3-dev
+version.suffix=-M3
 
 # - Source control flags -
 git.branch=master
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 7ea0015..64ccca6 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -44,7 +44,7 @@
   They eventually become mixed with the numbered issues (i.e., numbered
   issues do not "pop up" wrt. others).
 -->
-
+
   
 
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch 8.5.x updated: 8.5.52 release was cancelled

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/8.5.x by this push:
 new 27e2653  8.5.52 release was cancelled
27e2653 is described below

commit 27e2653d8ceec76a1921dc07b979540b46b16ea4
Author: Mark Thomas 
AuthorDate: Tue Mar 10 23:05:52 2020 +

8.5.52 release was cancelled
---
 webapps/docs/changelog.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index c7d97fe..2da1fd1 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -66,7 +66,7 @@
 
   
 
-
+
   
 
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch 9.0.x updated: 9.0.32 release was cancelled

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/9.0.x by this push:
 new 95a1f29  9.0.32 release was cancelled
95a1f29 is described below

commit 95a1f29db995bcec41091a8c19068d47927c56b5
Author: Mark Thomas 
AuthorDate: Tue Mar 10 23:05:12 2020 +

9.0.32 release was cancelled
---
 webapps/docs/changelog.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index e7ac8d0..a9ea59e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -66,7 +66,7 @@
 
   
 
-
+
   
 
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch master updated: 10.0.0-M2 was not released.

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/master by this push:
 new 8357f0c  10.0.0-M2 was not released.
8357f0c is described below

commit 8357f0c8485c5da59ee3821a8ccd0bc80a88349a
Author: Mark Thomas 
AuthorDate: Tue Mar 10 23:04:12 2020 +

10.0.0-M2 was not released.
---
 webapps/docs/changelog.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 20b2d18..7ea0015 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -70,7 +70,7 @@
 
   
 
-
+
   
 
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[CANCELLED][VOTE] Release Apache Tomcat 8.5.52

2020-03-10 Thread Mark Thomas
I'm cancelling this vote due to the regression identified in
https://bz.apache.org/bugzilla/show_bug.cgi?id=64210

Updated RC to follow shortly

Mark


On 06/03/2020 11:51, Mark Thomas wrote:
> The proposed Apache Tomcat 8.5.52 release is now available for voting.
> 
> The major changes compared to the 8.5.51 release are:
> 
> - Add new attribute persistAuthentication to both StandardManager and
>   PersistentManager to support authentication persistence.
>   Patch provided by Carsten Klein
> 
> - A zero length AJP secret will now behave as if it has not been
>   specified.
> 
> - Add the TLS request attributes used by IIS to the attributes that
>   an AJP Connector will always accept.
> 
> 
> Along with lots of other bug fixes and improvements.
> 
> For full details, see the changelog:
> https://ci.apache.org/projects/tomcat/tomcat85/docs/changelog.html
> 
> It can be obtained from:
> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.5.52/
> 
> The Maven staging repo is:
> https://repository.apache.org/content/repositories/orgapachetomcat-1252/
> 
> The tag is:
> https://github.com/apache/tomcat/tree/8.5.52
> c83fd06b3cd0c96ffd7dc660107a1283b714483b
> 
> The proposed 8.5.51 release is:
> [ ] Broken - do not release
> [ ] Stable - go ahead and release as 8.5.52
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
> 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[CANCELLED][VOTE] Release Apache Tomcat 9.0.32

2020-03-10 Thread Mark Thomas
I'm cancelling this vote due to the regression identified in
https://bz.apache.org/bugzilla/show_bug.cgi?id=64210

Updated RC to follow shortly

Mark


On 06/03/2020 10:12, Mark Thomas wrote:
> The proposed Apache Tomcat 9.0.32 release is now available for voting.
> 
> The major changes compared to the 9.0.31 release are:
> 
> - Add new attribute persistAuthentication to both StandardManager and
>   PersistentManager to support authentication persistence.
>   Patch provided by Carsten Klein
> 
> - A zero length AJP secret will now behave as if it has not been
>   specified.
> 
> - Add the TLS request attributes used by IIS to the attributes that
>   an AJP Connector will always accept.
> 
> Along with lots of other bug fixes and improvements.
> 
> For full details, see the changelog:
> https://ci.apache.org/projects/tomcat/tomcat9/docs/changelog.html
> 
> It can be obtained from:
> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.32/
> The Maven staging repo is:
> https://repository.apache.org/content/repositories/orgapachetomcat-1251/
> The tag is:
> https://github.com/apache/tomcat/tree/9.0.32
> 3a9578990e4e90bcc04bf7d5ef3bc47445e827e6
> 
> The proposed 9.0.32 release is:
> [ ] Broken - do not release
> [ ] Stable - go ahead and release as 9.0.32
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
> 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[CANCELLED][VOTE] Release Apache Tomcat 10.0.0-M2

2020-03-10 Thread Mark Thomas
I'm cancelling this vote due to the regression identified in
https://bz.apache.org/bugzilla/show_bug.cgi?id=64210

Updated RC to follow shortly

Mark

On 05/03/2020 19:40, Mark Thomas wrote:
> The proposed Apache Tomcat 10.0.0-M2 release is now available for
> voting.
> 
> Apache Tomcat 10.x implements Jakarta EE 9 and, as such, the primary
> package for all the specification APIs has changed from javax.* to jakarta.*
> Applications that run on Tomcat 9 will not run on Tomcat 10 without changes.
> 
> The major changes compared to 10.0.0-M2  are:
> 
> - Disable session persistence by default (on restart)
> 
> - Add new attribute persistAuthentication to both StandardManager and
>   PersistentManager to support authentication persistence.
>   Patch provided by Carsten Klein
> 
> - A zero length AJP secret will now behave as if it has not been
>   specified.
> 
> Along with lots of other bug fixes and improvements.
> 
> For full details, see the changelog:
> https://ci.apache.org/projects/tomcat/tomcat10/docs/changelog.html
> 
> It can be obtained from:
> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.0.0-M2/
> The Maven staging repo is:
> https://repository.apache.org/content/repositories/orgapachetomcat-1250/
> The tag is:
> https://github.com/apache/tomcat/tree/10.0.0-M2
> d971ce1bdf8b8e8de93fb41454f4ce2e815ee936
> 
> The proposed 10.0.0-M2 release is:
> [ ] Broken - do not release
> [ ] Alpha  - go ahead and release as 10.0.0-M2
> 
> I opted to only include alpha here as there are still some potentially
> significant changes on the TOMCAT-NEXT list.
> 
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
> 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 64210] parsing request headers fail

2020-03-10 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64210

--- Comment #5 from Christian H.  ---
Thanks for the fast reaction and fix (y).

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 64210] parsing request headers fail

2020-03-10 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64210

Mark Thomas  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Mark Thomas  ---
Fixed in:
- master for 10.0.0-M3 onwards
- 9.0.x for 9.0.33 onwards
- 8.5.x for 8.5.53 onwards
- 7.0.x for 7.0.102 onwards

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch 7.0.x updated (73a7ef7 -> 8f03960)

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a change to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


from 73a7ef7  Fix typo
 new 9cb1998  Update test client to handle HTTP 0.9 requests and responses
 new d8e99ec  Fix back-port of test so it runs on Java 7
 new 8f03960  Fix BZ 64210. Correct parsing of CRLF across packet 
boundaries,

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../coyote/http11/AbstractHttp11Processor.java |  43 +++---
 .../apache/coyote/http11/AbstractInputBuffer.java  |   6 +-
 .../coyote/http11/InternalAprInputBuffer.java  |  55 
 .../apache/coyote/http11/InternalInputBuffer.java  |  53 ---
 .../coyote/http11/InternalNioInputBuffer.java  |  51 ---
 .../apache/catalina/startup/SimpleHttpClient.java  |  38 +++--
 .../coyote/http11/TestHttp11InputBufferCRLF.java   | 156 +
 .../coyote/http11/TestInternalInputBuffer.java | 101 +++--
 .../TestOneLineFormatterMillisPerformance.java |   8 +-
 webapps/docs/changelog.xml |  17 ++-
 10 files changed, 398 insertions(+), 130 deletions(-)
 create mode 100644 test/org/apache/coyote/http11/TestHttp11InputBufferCRLF.java


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 02/03: Fix back-port of test so it runs on Java 7

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit d8e99ec109f216b3dcb92e4a64d1f25300789b3c
Author: Mark Thomas 
AuthorDate: Tue Mar 10 17:02:55 2020 +

Fix back-port of test so it runs on Java 7
---
 test/org/apache/juli/TestOneLineFormatterMillisPerformance.java | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/test/org/apache/juli/TestOneLineFormatterMillisPerformance.java 
b/test/org/apache/juli/TestOneLineFormatterMillisPerformance.java
index 7f0758d..7f68a39 100644
--- a/test/org/apache/juli/TestOneLineFormatterMillisPerformance.java
+++ b/test/org/apache/juli/TestOneLineFormatterMillisPerformance.java
@@ -37,10 +37,10 @@ public class TestOneLineFormatterMillisPerformance {
 parameterSets.add(new String[] { "dd-MMM- HH:mm:ss.SS" });
 parameterSets.add(new String[] { "dd-MMM- HH:mm:ss.S" });
 parameterSets.add(new String[] { "dd-MMM- HH:mm:ss" });
-parameterSets.add(new String[] { "dd-MMM- HH:mm:ss XXX" });
-parameterSets.add(new String[] { "dd-MMM- HH:mm:ss.SSSXXX" });
-parameterSets.add(new String[] { "dd-MMM- HH:mm:ss.SSXXX" });
-parameterSets.add(new String[] { "dd-MMM- HH:mm:ss.SXXX" });
+parameterSets.add(new String[] { "dd-MMM- HH:mm:ss Z" });
+parameterSets.add(new String[] { "dd-MMM- HH:mm:ss.SSSZ" });
+parameterSets.add(new String[] { "dd-MMM- HH:mm:ss.SSZ" });
+parameterSets.add(new String[] { "dd-MMM- HH:mm:ss.SZ" });
 parameterSets.add(new String[] { "SSS dd-MMM- HH:mm:ss" });
 parameterSets.add(new String[] { "SS dd-MMM- HH:mm:ss" });
 parameterSets.add(new String[] { "S dd-MMM- HH:mm:ss" });


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 01/03: Update test client to handle HTTP 0.9 requests and responses

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 9cb1998dc42dc575fc680d1a4b1e029b02d7a582
Author: Mark Thomas 
AuthorDate: Tue Mar 10 12:43:46 2020 +

Update test client to handle HTTP 0.9 requests and responses
---
 .../apache/catalina/startup/SimpleHttpClient.java  | 38 +-
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/test/org/apache/catalina/startup/SimpleHttpClient.java 
b/test/org/apache/catalina/startup/SimpleHttpClient.java
index 5d4366e..ca68f4d 100644
--- a/test/org/apache/catalina/startup/SimpleHttpClient.java
+++ b/test/org/apache/catalina/startup/SimpleHttpClient.java
@@ -90,6 +90,7 @@ public abstract class SimpleHttpClient {
 private String[] request;
 private boolean useContinue = false;
 private boolean useCookies = true;
+private boolean useHttp09 = false;
 private int requestPause = 1000;
 
 private String responseLine;
@@ -129,6 +130,10 @@ public abstract class SimpleHttpClient {
 return useCookies;
 }
 
+public void setUseHttp09(boolean theUseHttp09Flag) {
+useHttp09 = theUseHttp09Flag;
+}
+
 public void setRequestPause(int theRequestPause) {
 requestPause = theRequestPause;
 }
@@ -237,23 +242,26 @@ public abstract class SimpleHttpClient {
 bodyUriElements.clear();
 }
 
-// Read the response status line
-responseLine = readLine();
-
-// Is a 100 continue response expected?
-if (useContinue) {
-if (isResponse100()) {
-// Skip the blank after the 100 Continue response
-readLine();
-// Now get the final response
-responseLine = readLine();
-} else {
-throw new IOException("No 100 Continue response");
+// HTTP 0.9 has neither response line nor headers
+if (!useHttp09) {
+// Read the response status line
+responseLine = readLine();
+
+// Is a 100 continue response expected?
+if (useContinue) {
+if (isResponse100()) {
+// Skip the blank after the 100 Continue response
+readLine();
+// Now get the final response
+responseLine = readLine();
+} else {
+throw new IOException("No 100 Continue response");
+}
 }
-}
 
-// Put the headers into a map, and process interesting ones
-processHeaders();
+// Put the headers into a map, and process interesting ones
+processHeaders();
+}
 
 // Read the body, if requested and if one exists
 processBody(wantBody);


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 03/03: Fix BZ 64210. Correct parsing of CRLF across packet boundaries,

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 8f03960ca7e6e7a4b5ca2bd4c4daea45583b3e59
Author: Mark Thomas 
AuthorDate: Tue Mar 10 21:32:16 2020 +

Fix BZ 64210. Correct parsing of CRLF across packet boundaries,

Also improve request line parsing including HTTP/0.9.
---
 .../coyote/http11/AbstractHttp11Processor.java |  43 +++---
 .../apache/coyote/http11/AbstractInputBuffer.java  |   6 +-
 .../coyote/http11/InternalAprInputBuffer.java  |  55 
 .../apache/coyote/http11/InternalInputBuffer.java  |  53 ---
 .../coyote/http11/InternalNioInputBuffer.java  |  51 ---
 .../coyote/http11/TestHttp11InputBufferCRLF.java   | 156 +
 .../coyote/http11/TestInternalInputBuffer.java | 101 +++--
 webapps/docs/changelog.xml |  17 ++-
 8 files changed, 371 insertions(+), 111 deletions(-)

diff --git a/java/org/apache/coyote/http11/AbstractHttp11Processor.java 
b/java/org/apache/coyote/http11/AbstractHttp11Processor.java
index 8453067..33c0b27 100644
--- a/java/org/apache/coyote/http11/AbstractHttp11Processor.java
+++ b/java/org/apache/coyote/http11/AbstractHttp11Processor.java
@@ -,6 +,11 @@ public abstract class AbstractHttp11Processor extends 
AbstractProcessor {
 }
 }
 
+// Process the Protocol component of the request line
+// Need to know if this is an HTTP 0.9 request before trying to
+// parse headers.
+prepareRequestProtocol();
+
 if (endpoint.isPaused()) {
 // 503 - Service unavailable
 response.setStatus(503);
@@ -1121,7 +1126,8 @@ public abstract class AbstractHttp11Processor extends 
AbstractProcessor {
 
request.getMimeHeaders().setLimit(endpoint.getMaxHeaderCount());
 request.getCookies().setLimit(getMaxCookieCount());
 // Currently only NIO will ever return false here
-if (!getInputBuffer().parseHeaders()) {
+// Don't parse headers for HTTP/0.9
+if (!http09 && !getInputBuffer().parseHeaders()) {
 // We've read part of the request, don't recycle it
 // instead associate it with the socket
 openSocket = true;
@@ -1320,26 +1326,14 @@ public abstract class AbstractHttp11Processor 
extends AbstractProcessor {
 }
 
 
-/**
- * After reading the request headers, we have to setup the request filters.
- */
-protected void prepareRequest() throws IOException {
-
-http11 = true;
-http09 = false;
-contentDelimitation = false;
-expectation = false;
-
-prepareRequestInternal();
-
-if (endpoint.isSSLEnabled()) {
-request.scheme().setString("https");
-}
+private void prepareRequestProtocol() {
 MessageBytes protocolMB = request.protocol();
 if (protocolMB.equals(Constants.HTTP_11)) {
+http09 = false;
 http11 = true;
 protocolMB.setString(Constants.HTTP_11);
 } else if (protocolMB.equals(Constants.HTTP_10)) {
+http09 = false;
 http11 = false;
 keepAlive = false;
 protocolMB.setString(Constants.HTTP_10);
@@ -1350,6 +1344,7 @@ public abstract class AbstractHttp11Processor extends 
AbstractProcessor {
 keepAlive = false;
 } else {
 // Unsupported protocol
+http09 = false;
 http11 = false;
 // Send 505; Unsupported HTTP version
 response.setStatus(505);
@@ -1359,6 +1354,22 @@ public abstract class AbstractHttp11Processor extends 
AbstractProcessor {
   " Unsupported HTTP version \""+protocolMB+"\"");
 }
 }
+}
+
+
+/**
+ * After reading the request headers, we have to setup the request filters.
+ */
+protected void prepareRequest() throws IOException {
+
+contentDelimitation = false;
+expectation = false;
+
+prepareRequestInternal();
+
+if (endpoint.isSSLEnabled()) {
+request.scheme().setString("https");
+}
 
 MessageBytes methodMB = request.method();
 if (methodMB.equals(Constants.GET)) {
diff --git a/java/org/apache/coyote/http11/AbstractInputBuffer.java 
b/java/org/apache/coyote/http11/AbstractInputBuffer.java
index 379fab5..7f9b856 100644
--- a/java/org/apache/coyote/http11/AbstractInputBuffer.java
+++ b/java/org/apache/coyote/http11/AbstractInputBuffer.java
@@ -117,11 +117,12 @@ public abstract class AbstractInputBuffer implements 
InputBuffer{
 
 
 protected HttpParser httpParser;
+protected byte prevChr = 0;
+protected byte chr = 0;
 

Re: [VOTE] Release Apache Tomcat 7.0.101

2020-03-10 Thread Mark Thomas
On 10/03/2020 16:06, Konstantin Kolinko wrote:
> вт, 10 мар. 2020 г. в 12:13, Violeta Georgieva :
>>
>> The proposed Apache Tomcat 7.0.101 release is now available for voting.
>> [...]
> 
> FYI, the test org.apache.juli.TestOneLineFormatterMillisPerformance is
> broken on Java 6.
> 4 out of 11 tests there fail with an exception like this:
> [[[
> Testcase: testMillisHandling[4: format[dd-MMM- HH:mm:ss XXX]] took 0 sec
> Caused an ERROR
> Illegal pattern character 'X'
> java.lang.IllegalArgumentException: Illegal pattern character 'X'
> at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:768)
> at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:575)
> at java.text.SimpleDateFormat.(SimpleDateFormat.java:500)
> at org.apache.juli.DateFormatCache$Cache.(DateFormatCache.java:125)
> at org.apache.juli.DateFormatCache$Cache.(DateFormatCache.java:102)
> at org.apache.juli.DateFormatCache.(DateFormatCache.java:91)
> at 
> org.apache.juli.OneLineFormatter.setTimeFormat(OneLineFormatter.java:111)
> at 
> org.apache.juli.TestOneLineFormatterMillisPerformance.testMillisHandling(TestOneLineFormatterMillisPerformance.java:58)
> ]]]
> 
> The 'X' (TimeZone) pattern support was added to SimpleDateFormat in Java 7.
> Javadoc for SimpleDateFormat for Java 6 and Java 7:
> https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
> https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
> 
> It is not a showstopper, just a broken test. BTW, I wonder why this
> test runs at build time at all - there are no assertions there. It
> just prints a message to System.out.

Thanks. I've got a fix for that that I'll push shortly.

Mark

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot success in on tomcat-85-trunk

2020-03-10 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-85-trunk while 
building tomcat. Full details are available at:
https://ci.apache.org/builders/tomcat-85-trunk/builds/2211

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: asf946_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-85-commit' 
triggered this build
Build Source Stamp: [branch 8.5.x] 376b4ef1963e7eb1f7b6d66ed9a175b71f0ee461
Blamelist: Mark Thomas 

Build succeeded!

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch 8.5.x updated: Fix backport of new unit test

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/8.5.x by this push:
 new 376b4ef  Fix backport of new unit test
376b4ef is described below

commit 376b4ef1963e7eb1f7b6d66ed9a175b71f0ee461
Author: Mark Thomas 
AuthorDate: Tue Mar 10 19:39:34 2020 +

Fix backport of new unit test
---
 test/org/apache/coyote/http11/TestHttp11InputBuffer.java | 1 +
 1 file changed, 1 insertion(+)

diff --git a/test/org/apache/coyote/http11/TestHttp11InputBuffer.java 
b/test/org/apache/coyote/http11/TestHttp11InputBuffer.java
index 94b9a17..ea38be0 100644
--- a/test/org/apache/coyote/http11/TestHttp11InputBuffer.java
+++ b/test/org/apache/coyote/http11/TestHttp11InputBuffer.java
@@ -738,6 +738,7 @@ public class TestHttp11InputBuffer extends TomcatBaseTest {
 private Exception doRequest() {
 
 Tomcat tomcat = getTomcatInstance();
+tomcat.getConnector().setProperty("rejectIllegalHeader", "true");
 
 tomcat.addContext("", TEMP_DIR);
 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot success in on tomcat-trunk

2020-03-10 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-trunk while 
building tomcat. Full details are available at:
https://ci.apache.org/builders/tomcat-trunk/builds/5019

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: asf946_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch master] f5c37e048d060818bc5a57ffa9920952fbcd51fd
Blamelist: Mark Thomas 

Build succeeded!

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot failure in on tomcat-85-trunk

2020-03-10 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-85-trunk while 
building tomcat. Full details are available at:
https://ci.apache.org/builders/tomcat-85-trunk/builds/2210

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: asf946_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-85-commit' 
triggered this build
Build Source Stamp: [branch 8.5.x] d9103b84cde9df160071f23fa6cd06221a673b3e
Blamelist: Mark Thomas 

BUILD FAILED: failed compile_1

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot failure in on tomcat-trunk

2020-03-10 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-trunk while building 
tomcat. Full details are available at:
https://ci.apache.org/builders/tomcat-trunk/builds/5018

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: asf946_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch master] bdc8495c764c08a6aa2d6e06193e615e4a5a8a40
Blamelist: Mark Thomas 

BUILD FAILED: failed compile_1

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch 8.5.x updated: Recycle chr and prevChr

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/8.5.x by this push:
 new d9103b8  Recycle chr and prevChr
d9103b8 is described below

commit d9103b84cde9df160071f23fa6cd06221a673b3e
Author: Mark Thomas 
AuthorDate: Tue Mar 10 17:32:08 2020 +

Recycle chr and prevChr
---
 java/org/apache/coyote/http11/Http11InputBuffer.java | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/java/org/apache/coyote/http11/Http11InputBuffer.java 
b/java/org/apache/coyote/http11/Http11InputBuffer.java
index 6c6c91b..aa962c6 100644
--- a/java/org/apache/coyote/http11/Http11InputBuffer.java
+++ b/java/org/apache/coyote/http11/Http11InputBuffer.java
@@ -285,6 +285,8 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 parsingHeader = true;
 swallowInput = true;
 
+chr = 0;
+prevChr = 0;
 headerParsePos = HeaderParsePosition.HEADER_START;
 parsingRequestLine = true;
 parsingRequestLinePhase = 0;


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch 9.0.x updated: Recycle chr and prevChr

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/9.0.x by this push:
 new 874b3fc  Recycle chr and prevChr
874b3fc is described below

commit 874b3fcd86ca868181ffb32af6e3959205cf3b77
Author: Mark Thomas 
AuthorDate: Tue Mar 10 17:32:08 2020 +

Recycle chr and prevChr
---
 java/org/apache/coyote/http11/Http11InputBuffer.java | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/java/org/apache/coyote/http11/Http11InputBuffer.java 
b/java/org/apache/coyote/http11/Http11InputBuffer.java
index fd054d7..0824a69 100644
--- a/java/org/apache/coyote/http11/Http11InputBuffer.java
+++ b/java/org/apache/coyote/http11/Http11InputBuffer.java
@@ -270,6 +270,8 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 parsingHeader = true;
 swallowInput = true;
 
+chr = 0;
+prevChr = 0;
 headerParsePos = HeaderParsePosition.HEADER_START;
 parsingRequestLine = true;
 parsingRequestLinePhase = 0;


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch master updated: Recycle chr and prevChr

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/master by this push:
 new f5c37e0  Recycle chr and prevChr
f5c37e0 is described below

commit f5c37e048d060818bc5a57ffa9920952fbcd51fd
Author: Mark Thomas 
AuthorDate: Tue Mar 10 17:32:08 2020 +

Recycle chr and prevChr
---
 java/org/apache/coyote/http11/Http11InputBuffer.java | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/java/org/apache/coyote/http11/Http11InputBuffer.java 
b/java/org/apache/coyote/http11/Http11InputBuffer.java
index db9bd7d..7be3e01 100644
--- a/java/org/apache/coyote/http11/Http11InputBuffer.java
+++ b/java/org/apache/coyote/http11/Http11InputBuffer.java
@@ -270,6 +270,8 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 parsingHeader = true;
 swallowInput = true;
 
+chr = 0;
+prevChr = 0;
 headerParsePos = HeaderParsePosition.HEADER_START;
 parsingRequestLine = true;
 parsingRequestLinePhase = 0;


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch 8.5.x updated (82da72f -> a9e587d)

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a change to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


from 82da72f  Fix typos
 new 4390ab1  Update test client to handle HTTP 0.9 requests and responses
 new a9e587d  Fix BZ 64210. Correct parsing of CRLF across packet 
boundaries,

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/coyote/http11/Http11InputBuffer.java|  72 +-
 java/org/apache/coyote/http11/Http11Processor.java |  37 +++--
 .../apache/catalina/startup/SimpleHttpClient.java  |  38 +++--
 .../coyote/http11/TestHttp11InputBuffer.java   | 100 +++--
 .../coyote/http11/TestHttp11InputBufferCRLF.java   | 156 +
 webapps/docs/changelog.xml |  17 ++-
 6 files changed, 347 insertions(+), 73 deletions(-)
 create mode 100644 test/org/apache/coyote/http11/TestHttp11InputBufferCRLF.java


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 01/02: Update test client to handle HTTP 0.9 requests and responses

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 4390ab1fe7fff3c6df491c30c7e52e4232d1fef1
Author: Mark Thomas 
AuthorDate: Tue Mar 10 12:43:46 2020 +

Update test client to handle HTTP 0.9 requests and responses
---
 .../apache/catalina/startup/SimpleHttpClient.java  | 38 +-
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/test/org/apache/catalina/startup/SimpleHttpClient.java 
b/test/org/apache/catalina/startup/SimpleHttpClient.java
index a5ced3e..79ab7b2 100644
--- a/test/org/apache/catalina/startup/SimpleHttpClient.java
+++ b/test/org/apache/catalina/startup/SimpleHttpClient.java
@@ -95,6 +95,7 @@ public abstract class SimpleHttpClient {
 private String[] request;
 private boolean useContinue = false;
 private boolean useCookies = true;
+private boolean useHttp09 = false;
 private int requestPause = 1000;
 
 private String responseLine;
@@ -134,6 +135,10 @@ public abstract class SimpleHttpClient {
 return useCookies;
 }
 
+public void setUseHttp09(boolean theUseHttp09Flag) {
+useHttp09 = theUseHttp09Flag;
+}
+
 public void setRequestPause(int theRequestPause) {
 requestPause = theRequestPause;
 }
@@ -242,23 +247,26 @@ public abstract class SimpleHttpClient {
 bodyUriElements.clear();
 }
 
-// Read the response status line
-responseLine = readLine();
-
-// Is a 100 continue response expected?
-if (useContinue) {
-if (isResponse100()) {
-// Skip the blank after the 100 Continue response
-readLine();
-// Now get the final response
-responseLine = readLine();
-} else {
-throw new IOException("No 100 Continue response");
+// HTTP 0.9 has neither response line nor headers
+if (!useHttp09) {
+// Read the response status line
+responseLine = readLine();
+
+// Is a 100 continue response expected?
+if (useContinue) {
+if (isResponse100()) {
+// Skip the blank after the 100 Continue response
+readLine();
+// Now get the final response
+responseLine = readLine();
+} else {
+throw new IOException("No 100 Continue response");
+}
 }
-}
 
-// Put the headers into a map, and process interesting ones
-processHeaders();
+// Put the headers into a map, and process interesting ones
+processHeaders();
+}
 
 // Read the body, if requested and if one exists
 processBody(wantBody);


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 02/02: Fix BZ 64210. Correct parsing of CRLF across packet boundaries,

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit a9e587dbf6cbb18a0fa9ff7fcb6d99426b764490
Author: Mark Thomas 
AuthorDate: Tue Mar 10 17:02:55 2020 +

Fix BZ 64210. Correct parsing of CRLF across packet boundaries,

Also improve request line parsing including HTTP/0.9.
---
 .../apache/coyote/http11/Http11InputBuffer.java|  72 +-
 java/org/apache/coyote/http11/Http11Processor.java |  37 +++--
 .../coyote/http11/TestHttp11InputBuffer.java   | 100 +++--
 .../coyote/http11/TestHttp11InputBufferCRLF.java   | 156 +
 webapps/docs/changelog.xml |  17 ++-
 5 files changed, 324 insertions(+), 58 deletions(-)

diff --git a/java/org/apache/coyote/http11/Http11InputBuffer.java 
b/java/org/apache/coyote/http11/Http11InputBuffer.java
index 3074593..6c6c91b 100644
--- a/java/org/apache/coyote/http11/Http11InputBuffer.java
+++ b/java/org/apache/coyote/http11/Http11InputBuffer.java
@@ -128,6 +128,8 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
  * Parsing state - used for non blocking parsing so that
  * when more data arrives, we can pick up where we left off.
  */
+private byte prevChr = 0;
+private byte chr = 0;
 private boolean parsingRequestLine;
 private int parsingRequestLinePhase = 0;
 private boolean parsingRequestLineEol = false;
@@ -355,9 +357,7 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 // Skipping blank lines
 //
 if (parsingRequestLinePhase < 2) {
-byte chr = 0;
 do {
-
 // Read new bytes if needed
 if (byteBuffer.position() >= byteBuffer.limit()) {
 if (keptAlive) {
@@ -418,7 +418,7 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 // Spec says method name is a token followed by a single SP but
 // also be tolerant of multiple SP and/or HT.
 int pos = byteBuffer.position();
-byte chr = byteBuffer.get();
+chr = byteBuffer.get();
 if (chr == Constants.SP || chr == Constants.HT) {
 space = true;
 request.method().setBytes(byteBuffer.array(), 
parsingRequestLineStart,
@@ -441,7 +441,7 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 if (!fill(false)) // request line parsing
 return false;
 }
-byte chr = byteBuffer.get();
+chr = byteBuffer.get();
 if (!(chr == Constants.SP || chr == Constants.HT)) {
 space = false;
 byteBuffer.position(byteBuffer.position() - 1);
@@ -465,15 +465,32 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 return false;
 }
 int pos = byteBuffer.position();
-byte chr = byteBuffer.get();
+prevChr = chr;
+chr = byteBuffer.get();
+if (prevChr == Constants.CR && chr != Constants.LF) {
+// CR not followed by LF so not an HTTP/0.9 request and
+// therefore invalid. Trigger error handling.
+// Avoid unknown protocol triggering an additional error
+request.protocol().setString(Constants.HTTP_11);
+throw new 
IllegalArgumentException(sm.getString("iib.invalidRequestTarget"));
+}
 if (chr == Constants.SP || chr == Constants.HT) {
 space = true;
 end = pos;
-} else if (chr == Constants.CR || chr == Constants.LF) {
+} else if (chr == Constants.CR) {
+// HTTP/0.9 style request. CR is optional. LF is not.
+} else if (chr == Constants.LF) {
 // HTTP/0.9 style request
-parsingRequestLineEol = true;
+// Stop this processing loop
 space = true;
-end = pos;
+// Skip the protocol processing
+parsingRequestLinePhase = 6;
+parsingRequestLineEol = true;
+if (prevChr == Constants.CR) {
+end = pos - 1;
+} else {
+end = pos;
+}
 } else if (chr == Constants.QUESTION && parsingRequestLineQPos 
== -1) {
 parsingRequestLineQPos = pos;
 } else if (parsingRequestLineQPos != -1 && 
!httpParser.isQueryRelaxed(chr)) {
@@ -499,7 +516,9 @@ public class 

[tomcat] branch master updated: Improve wording

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/master by this push:
 new bdc8495  Improve wording
bdc8495 is described below

commit bdc8495c764c08a6aa2d6e06193e615e4a5a8a40
Author: Mark Thomas 
AuthorDate: Tue Mar 10 17:09:36 2020 +

Improve wording
---
 webapps/docs/changelog.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index e40de60..20b2d18 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -63,9 +63,9 @@
   
 
   
-64206: Correct regression introduced in 10.0.0-M1 that meant
-the HTTP specified when using the Windows Installer was ignored and 
8080
-was always used. (markt)
+64206: Correct a regression introduced in 10.0.0-M1 that
+meant that the HTTP port specified when using the Windows Installer was
+ignored and 8080 was always used. (markt)
   
 
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 02/03: Fix BZ 64210. Correct parsing of CRLF across packet boundaries,

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 27a0c116e02ba9cd66873ded0e64b8c0fec2bc19
Author: Mark Thomas 
AuthorDate: Tue Mar 10 17:02:55 2020 +

Fix BZ 64210. Correct parsing of CRLF across packet boundaries,

Also improve request line parsing including HTTP/0.9.
---
 .../apache/coyote/http11/Http11InputBuffer.java|  72 +-
 java/org/apache/coyote/http11/Http11Processor.java |  37 +++--
 .../coyote/http11/TestHttp11InputBuffer.java   | 100 +++--
 .../coyote/http11/TestHttp11InputBufferCRLF.java   | 156 +
 webapps/docs/changelog.xml |  17 ++-
 5 files changed, 324 insertions(+), 58 deletions(-)

diff --git a/java/org/apache/coyote/http11/Http11InputBuffer.java 
b/java/org/apache/coyote/http11/Http11InputBuffer.java
index 166835e..fd054d7 100644
--- a/java/org/apache/coyote/http11/Http11InputBuffer.java
+++ b/java/org/apache/coyote/http11/Http11InputBuffer.java
@@ -128,6 +128,8 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
  * Parsing state - used for non blocking parsing so that
  * when more data arrives, we can pick up where we left off.
  */
+private byte prevChr = 0;
+private byte chr = 0;
 private boolean parsingRequestLine;
 private int parsingRequestLinePhase = 0;
 private boolean parsingRequestLineEol = false;
@@ -341,9 +343,7 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 // Skipping blank lines
 //
 if (parsingRequestLinePhase < 2) {
-byte chr = 0;
 do {
-
 // Read new bytes if needed
 if (byteBuffer.position() >= byteBuffer.limit()) {
 if (keptAlive) {
@@ -404,7 +404,7 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 // Spec says method name is a token followed by a single SP but
 // also be tolerant of multiple SP and/or HT.
 int pos = byteBuffer.position();
-byte chr = byteBuffer.get();
+chr = byteBuffer.get();
 if (chr == Constants.SP || chr == Constants.HT) {
 space = true;
 request.method().setBytes(byteBuffer.array(), 
parsingRequestLineStart,
@@ -427,7 +427,7 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 if (!fill(false)) // request line parsing
 return false;
 }
-byte chr = byteBuffer.get();
+chr = byteBuffer.get();
 if (!(chr == Constants.SP || chr == Constants.HT)) {
 space = false;
 byteBuffer.position(byteBuffer.position() - 1);
@@ -451,15 +451,32 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 return false;
 }
 int pos = byteBuffer.position();
-byte chr = byteBuffer.get();
+prevChr = chr;
+chr = byteBuffer.get();
+if (prevChr == Constants.CR && chr != Constants.LF) {
+// CR not followed by LF so not an HTTP/0.9 request and
+// therefore invalid. Trigger error handling.
+// Avoid unknown protocol triggering an additional error
+request.protocol().setString(Constants.HTTP_11);
+throw new 
IllegalArgumentException(sm.getString("iib.invalidRequestTarget"));
+}
 if (chr == Constants.SP || chr == Constants.HT) {
 space = true;
 end = pos;
-} else if (chr == Constants.CR || chr == Constants.LF) {
+} else if (chr == Constants.CR) {
+// HTTP/0.9 style request. CR is optional. LF is not.
+} else if (chr == Constants.LF) {
 // HTTP/0.9 style request
-parsingRequestLineEol = true;
+// Stop this processing loop
 space = true;
-end = pos;
+// Skip the protocol processing
+parsingRequestLinePhase = 6;
+parsingRequestLineEol = true;
+if (prevChr == Constants.CR) {
+end = pos - 1;
+} else {
+end = pos;
+}
 } else if (chr == Constants.QUESTION && parsingRequestLineQPos 
== -1) {
 parsingRequestLineQPos = pos;
 } else if (parsingRequestLineQPos != -1 && 
!httpParser.isQueryRelaxed(chr)) {
@@ -485,7 +502,9 @@ public class 

[tomcat] 03/03: Fix back-port

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 8fbe75540bb180ea23197625af53d5f2fdbc
Author: Mark Thomas 
AuthorDate: Tue Mar 10 17:08:43 2020 +

Fix back-port
---
 webapps/docs/changelog.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 395a5f4..e7ac8d0 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -60,8 +60,8 @@
 
   
 64206: Correct regression introduced in 9.0.31 that meant
-the HTTP port specified when using the Windows Installer was ignored 
and 
-8080 was always used. (markt)
+that the HTTP port specified when using the Windows Installer was
+ignored and 8080 was always used. (markt)
   
 
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch 9.0.x updated (e4e1b76 -> 8fbe755)

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a change to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


from e4e1b76  Fix typos
 new 28bb01f  Update test client to handle HTTP 0.9 requests and responses
 new 27a0c11  Fix BZ 64210. Correct parsing of CRLF across packet 
boundaries,
 new 8fbe755  Fix back-port

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/coyote/http11/Http11InputBuffer.java|  72 +-
 java/org/apache/coyote/http11/Http11Processor.java |  37 +++--
 .../apache/catalina/startup/SimpleHttpClient.java  |  38 +++--
 .../coyote/http11/TestHttp11InputBuffer.java   | 100 +++--
 .../coyote/http11/TestHttp11InputBufferCRLF.java   | 156 +
 webapps/docs/changelog.xml |  17 ++-
 6 files changed, 347 insertions(+), 73 deletions(-)
 create mode 100644 test/org/apache/coyote/http11/TestHttp11InputBufferCRLF.java


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 01/03: Update test client to handle HTTP 0.9 requests and responses

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 28bb01fdad00aa32bc5c700a594c22fa04846459
Author: Mark Thomas 
AuthorDate: Tue Mar 10 12:43:46 2020 +

Update test client to handle HTTP 0.9 requests and responses
---
 .../apache/catalina/startup/SimpleHttpClient.java  | 38 +-
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/test/org/apache/catalina/startup/SimpleHttpClient.java 
b/test/org/apache/catalina/startup/SimpleHttpClient.java
index a5ced3e..79ab7b2 100644
--- a/test/org/apache/catalina/startup/SimpleHttpClient.java
+++ b/test/org/apache/catalina/startup/SimpleHttpClient.java
@@ -95,6 +95,7 @@ public abstract class SimpleHttpClient {
 private String[] request;
 private boolean useContinue = false;
 private boolean useCookies = true;
+private boolean useHttp09 = false;
 private int requestPause = 1000;
 
 private String responseLine;
@@ -134,6 +135,10 @@ public abstract class SimpleHttpClient {
 return useCookies;
 }
 
+public void setUseHttp09(boolean theUseHttp09Flag) {
+useHttp09 = theUseHttp09Flag;
+}
+
 public void setRequestPause(int theRequestPause) {
 requestPause = theRequestPause;
 }
@@ -242,23 +247,26 @@ public abstract class SimpleHttpClient {
 bodyUriElements.clear();
 }
 
-// Read the response status line
-responseLine = readLine();
-
-// Is a 100 continue response expected?
-if (useContinue) {
-if (isResponse100()) {
-// Skip the blank after the 100 Continue response
-readLine();
-// Now get the final response
-responseLine = readLine();
-} else {
-throw new IOException("No 100 Continue response");
+// HTTP 0.9 has neither response line nor headers
+if (!useHttp09) {
+// Read the response status line
+responseLine = readLine();
+
+// Is a 100 continue response expected?
+if (useContinue) {
+if (isResponse100()) {
+// Skip the blank after the 100 Continue response
+readLine();
+// Now get the final response
+responseLine = readLine();
+} else {
+throw new IOException("No 100 Continue response");
+}
 }
-}
 
-// Put the headers into a map, and process interesting ones
-processHeaders();
+// Put the headers into a map, and process interesting ones
+processHeaders();
+}
 
 // Read the body, if requested and if one exists
 processBody(wantBody);


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: [Bug 64210] parsing request headers fail

2020-03-10 Thread Mark Thomas
On 10/03/2020 13:58, Christopher Schultz wrote:
> Mark,
> 
> On 3/10/20 08:52, Mark Thomas wrote:
>> On 10/03/2020 10:14, bugzi...@apache.org wrote:
>>> https://bz.apache.org/bugzilla/show_bug.cgi?id=64210
>>>
>>> --- Comment #3 from Mark Thomas  --- Thanks.
>>> I'm able to reproduce this. I'm working on some additional test
>>> cases and a fix.
>>>
> 
>> Moving to the dev@ list as this isn't really related to fixing this
>> issue.
> 
>> This is a regression in the HTTP header parsing fixes fir CRLF
>> added in the recent release round.
> 
>> I'm leaning towards cancelling the current set of releases to pick
>> up this fix.
> 
>> Thoughts?
> 
> +1 for cancelling

There seems to be consensus for this position.

I'll proceed on that basis.

I've just pushed the commits that fix this (and expand the tests). Extra
pairs of eyes welcome. I'll probably be tagging later today.

Mark

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 02/02: Fix BZ 64210. Correct parsing of CRLF across packet boundaries,

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit e1e4cdaf27892333ee33e18a2a16d08b1127c203
Author: Mark Thomas 
AuthorDate: Tue Mar 10 17:02:55 2020 +

Fix BZ 64210. Correct parsing of CRLF across packet boundaries,

Also improve request line parsing including HTTP/0.9.
---
 .../apache/coyote/http11/Http11InputBuffer.java|  72 +-
 java/org/apache/coyote/http11/Http11Processor.java |  37 +++--
 .../coyote/http11/TestHttp11InputBuffer.java   | 100 +++--
 .../coyote/http11/TestHttp11InputBufferCRLF.java   | 156 +
 webapps/docs/changelog.xml |   9 +-
 5 files changed, 318 insertions(+), 56 deletions(-)

diff --git a/java/org/apache/coyote/http11/Http11InputBuffer.java 
b/java/org/apache/coyote/http11/Http11InputBuffer.java
index 1620928..db9bd7d 100644
--- a/java/org/apache/coyote/http11/Http11InputBuffer.java
+++ b/java/org/apache/coyote/http11/Http11InputBuffer.java
@@ -128,6 +128,8 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
  * Parsing state - used for non blocking parsing so that
  * when more data arrives, we can pick up where we left off.
  */
+private byte prevChr = 0;
+private byte chr = 0;
 private boolean parsingRequestLine;
 private int parsingRequestLinePhase = 0;
 private boolean parsingRequestLineEol = false;
@@ -341,9 +343,7 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 // Skipping blank lines
 //
 if (parsingRequestLinePhase < 2) {
-byte chr = 0;
 do {
-
 // Read new bytes if needed
 if (byteBuffer.position() >= byteBuffer.limit()) {
 if (keptAlive) {
@@ -404,7 +404,7 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 // Spec says method name is a token followed by a single SP but
 // also be tolerant of multiple SP and/or HT.
 int pos = byteBuffer.position();
-byte chr = byteBuffer.get();
+chr = byteBuffer.get();
 if (chr == Constants.SP || chr == Constants.HT) {
 space = true;
 request.method().setBytes(byteBuffer.array(), 
parsingRequestLineStart,
@@ -427,7 +427,7 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 if (!fill(false)) // request line parsing
 return false;
 }
-byte chr = byteBuffer.get();
+chr = byteBuffer.get();
 if (!(chr == Constants.SP || chr == Constants.HT)) {
 space = false;
 byteBuffer.position(byteBuffer.position() - 1);
@@ -451,15 +451,32 @@ public class Http11InputBuffer implements InputBuffer, 
ApplicationBufferHandler
 return false;
 }
 int pos = byteBuffer.position();
-byte chr = byteBuffer.get();
+prevChr = chr;
+chr = byteBuffer.get();
+if (prevChr == Constants.CR && chr != Constants.LF) {
+// CR not followed by LF so not an HTTP/0.9 request and
+// therefore invalid. Trigger error handling.
+// Avoid unknown protocol triggering an additional error
+request.protocol().setString(Constants.HTTP_11);
+throw new 
IllegalArgumentException(sm.getString("iib.invalidRequestTarget"));
+}
 if (chr == Constants.SP || chr == Constants.HT) {
 space = true;
 end = pos;
-} else if (chr == Constants.CR || chr == Constants.LF) {
+} else if (chr == Constants.CR) {
+// HTTP/0.9 style request. CR is optional. LF is not.
+} else if (chr == Constants.LF) {
 // HTTP/0.9 style request
-parsingRequestLineEol = true;
+// Stop this processing loop
 space = true;
-end = pos;
+// Skip the protocol processing
+parsingRequestLinePhase = 6;
+parsingRequestLineEol = true;
+if (prevChr == Constants.CR) {
+end = pos - 1;
+} else {
+end = pos;
+}
 } else if (chr == Constants.QUESTION && parsingRequestLineQPos 
== -1) {
 parsingRequestLineQPos = pos;
 } else if (parsingRequestLineQPos != -1 && 
!httpParser.isQueryRelaxed(chr)) {
@@ -485,7 +502,9 @@ public class 

[tomcat] 01/02: Update test client to handle HTTP 0.9 requests and responses

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 5d8cfa641eb0e74b354130fe64d6a8f848e7dab8
Author: Mark Thomas 
AuthorDate: Tue Mar 10 12:43:46 2020 +

Update test client to handle HTTP 0.9 requests and responses
---
 .../apache/catalina/startup/SimpleHttpClient.java  | 38 +-
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/test/org/apache/catalina/startup/SimpleHttpClient.java 
b/test/org/apache/catalina/startup/SimpleHttpClient.java
index a5ced3e..79ab7b2 100644
--- a/test/org/apache/catalina/startup/SimpleHttpClient.java
+++ b/test/org/apache/catalina/startup/SimpleHttpClient.java
@@ -95,6 +95,7 @@ public abstract class SimpleHttpClient {
 private String[] request;
 private boolean useContinue = false;
 private boolean useCookies = true;
+private boolean useHttp09 = false;
 private int requestPause = 1000;
 
 private String responseLine;
@@ -134,6 +135,10 @@ public abstract class SimpleHttpClient {
 return useCookies;
 }
 
+public void setUseHttp09(boolean theUseHttp09Flag) {
+useHttp09 = theUseHttp09Flag;
+}
+
 public void setRequestPause(int theRequestPause) {
 requestPause = theRequestPause;
 }
@@ -242,23 +247,26 @@ public abstract class SimpleHttpClient {
 bodyUriElements.clear();
 }
 
-// Read the response status line
-responseLine = readLine();
-
-// Is a 100 continue response expected?
-if (useContinue) {
-if (isResponse100()) {
-// Skip the blank after the 100 Continue response
-readLine();
-// Now get the final response
-responseLine = readLine();
-} else {
-throw new IOException("No 100 Continue response");
+// HTTP 0.9 has neither response line nor headers
+if (!useHttp09) {
+// Read the response status line
+responseLine = readLine();
+
+// Is a 100 continue response expected?
+if (useContinue) {
+if (isResponse100()) {
+// Skip the blank after the 100 Continue response
+readLine();
+// Now get the final response
+responseLine = readLine();
+} else {
+throw new IOException("No 100 Continue response");
+}
 }
-}
 
-// Put the headers into a map, and process interesting ones
-processHeaders();
+// Put the headers into a map, and process interesting ones
+processHeaders();
+}
 
 // Read the body, if requested and if one exists
 processBody(wantBody);


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch master updated (a812a85 -> e1e4cda)

2020-03-10 Thread markt
This is an automated email from the ASF dual-hosted git repository.

markt pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


from a812a85  Fix typos
 new 5d8cfa6  Update test client to handle HTTP 0.9 requests and responses
 new e1e4cda  Fix BZ 64210. Correct parsing of CRLF across packet 
boundaries,

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/coyote/http11/Http11InputBuffer.java|  72 +-
 java/org/apache/coyote/http11/Http11Processor.java |  37 +++--
 .../apache/catalina/startup/SimpleHttpClient.java  |  38 +++--
 .../coyote/http11/TestHttp11InputBuffer.java   | 100 +++--
 .../coyote/http11/TestHttp11InputBufferCRLF.java   | 156 +
 webapps/docs/changelog.xml |   9 +-
 6 files changed, 341 insertions(+), 71 deletions(-)
 create mode 100644 test/org/apache/coyote/http11/TestHttp11InputBufferCRLF.java


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: [VOTE] Release Apache Tomcat 7.0.101

2020-03-10 Thread Konstantin Kolinko
вт, 10 мар. 2020 г. в 12:13, Violeta Georgieva :
>
> The proposed Apache Tomcat 7.0.101 release is now available for voting.
> [...]

FYI, the test org.apache.juli.TestOneLineFormatterMillisPerformance is
broken on Java 6.
4 out of 11 tests there fail with an exception like this:
[[[
Testcase: testMillisHandling[4: format[dd-MMM- HH:mm:ss XXX]] took 0 sec
Caused an ERROR
Illegal pattern character 'X'
java.lang.IllegalArgumentException: Illegal pattern character 'X'
at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:768)
at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:575)
at java.text.SimpleDateFormat.(SimpleDateFormat.java:500)
at org.apache.juli.DateFormatCache$Cache.(DateFormatCache.java:125)
at org.apache.juli.DateFormatCache$Cache.(DateFormatCache.java:102)
at org.apache.juli.DateFormatCache.(DateFormatCache.java:91)
at org.apache.juli.OneLineFormatter.setTimeFormat(OneLineFormatter.java:111)
at 
org.apache.juli.TestOneLineFormatterMillisPerformance.testMillisHandling(TestOneLineFormatterMillisPerformance.java:58)
]]]

The 'X' (TimeZone) pattern support was added to SimpleDateFormat in Java 7.
Javadoc for SimpleDateFormat for Java 6 and Java 7:
https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

It is not a showstopper, just a broken test. BTW, I wonder why this
test runs at build time at all - there are no assertions there. It
just prints a message to System.out.

I continue testing.

Best regards,
Konstantin Kolinko

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot success in on tomcat-9-trunk

2020-03-10 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-9-trunk while 
building tomcat. Full details are available at:
https://ci.apache.org/builders/tomcat-9-trunk/builds/103

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: asf946_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-9-commit' 
triggered this build
Build Source Stamp: [branch 9.0.x] e4e1b76571ed24ed962b284f08f57dcd33ff8c5e
Blamelist: Violeta Georgieva 

Build succeeded!

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: [Bug 64210] parsing request headers fail

2020-03-10 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Mark,

On 3/10/20 08:52, Mark Thomas wrote:
> On 10/03/2020 10:14, bugzi...@apache.org wrote:
>> https://bz.apache.org/bugzilla/show_bug.cgi?id=64210
>>
>> --- Comment #3 from Mark Thomas  --- Thanks.
>> I'm able to reproduce this. I'm working on some additional test
>> cases and a fix.
>>
>
> Moving to the dev@ list as this isn't really related to fixing this
> issue.
>
> This is a regression in the HTTP header parsing fixes fir CRLF
> added in the recent release round.
>
> I'm leaning towards cancelling the current set of releases to pick
> up this fix.
>
> Thoughts?

+1 for cancelling

- -chris
-BEGIN PGP SIGNATURE-
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAl5nnSAACgkQHPApP6U8
pFhOZg/9GiyGE2nrmczvuFnse3jgKmPUVcShLRZPOwOrzUexD7RFQbS5kFYSm7E1
rQs6ZhtM3NHSx9A1DHiKbqv9Rf7sutZ+2Ia510EQQgRXnlMUaP8oSCbW7+wXwEFP
CDXj/fQznxBlpTH38TnyUyu8FMXFZjxwFbtS3BO05jMVHtfTs+4/37yK2aee1Dbd
8VxQg7W7ZayEdix9hWk/PIhqswgwU0HhnJFTF6s6CGa4UkLcoUvNXyFPbgi0c7/c
frLZiIW+j9JPRzEkDOi++TmtSm7Y//vTeKpGhKI8alWKp90u2xVkOKH/UX/J0QAw
sOC09DJAF914LZvIXGk18xnyP2uiDNLpl2vEMK7tUeEl+7Gzard77DtBumyt6Yo6
CX+GgIH3MgNjt1IFoEmFwhunbZyn3bBaycyYj9xGfTvBetsSIhDzGN0heoFhZqbQ
bbrPHFsDvtDFf1vuf6e+2aP/MRg32D0bZ5q4/Y4jQXbeChKYM67+NdY8r4vhbSRi
9TS2dNBGyK5eb0+eFPi0iwB6t8Eh5+mnd14RcCgNkAbBoDOazsP78ca+wavai740
9FFaBKKqb+/X34yhuZfvuWn3MxLWg4wObfdfgH5+2BFuBy4J2EEuKsKZ+pwWJ/DS
SC0MMmyR00QhvJ1NRdXrFzrBmjqEjOSnzP3NeR5q8tCh2S/TfHE=
=HDUa
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: [Bug 64210] parsing request headers fail

2020-03-10 Thread Violeta Georgieva
На вт, 10.03.2020 г. в 14:52 Mark Thomas  написа:
>
> On 10/03/2020 10:14, bugzi...@apache.org wrote:
> > https://bz.apache.org/bugzilla/show_bug.cgi?id=64210
> >
> > --- Comment #3 from Mark Thomas  ---
> > Thanks. I'm able to reproduce this. I'm working on some additional test
cases
> > and a fix.
> >
>
> Moving to the dev@ list as this isn't really related to fixing this issue.
>
> This is a regression in the HTTP header parsing fixes fir CRLF added in
> the recent release round.
>
> I'm leaning towards cancelling the current set of releases to pick up
> this fix.
>
> Thoughts?

+1 having in mind that I do not release Tomcat 7 as often as you release
Tomcat 8.5 & 9
I'm ready to cancel Tomcat 7 voting.

Regards,
Violeta


[tomcat] branch 7.0.x updated: Fix typo

2020-03-10 Thread violetagg
This is an automated email from the ASF dual-hosted git repository.

violetagg pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/7.0.x by this push:
 new 73a7ef7  Fix typo
73a7ef7 is described below

commit 73a7ef76e8d0b9e2db631da90362a72ec9538c7c
Author: Violeta Georgieva 
AuthorDate: Tue Mar 10 15:47:01 2020 +0200

Fix typo
---
 webapps/docs/changelog.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 9430d7d..ada2d32 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -141,7 +141,7 @@
 Tomcat. Contributions provided by B. Cansmile Cha. (markt)
   
   
-64190: Add support for specifing milliseconds (using
+64190: Add support for specifying milliseconds (using
 S, SS or SSS) in the timestamp
 used by JULIs OneLineFormatter. (markt)
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch 8.5.x updated: Fix typos

2020-03-10 Thread violetagg
This is an automated email from the ASF dual-hosted git repository.

violetagg pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/8.5.x by this push:
 new 82da72f  Fix typos
82da72f is described below

commit 82da72fb1f3c925291674ac756eeaf5a9a8efdfd
Author: Violeta Georgieva 
AuthorDate: Tue Mar 10 15:44:50 2020 +0200

Fix typos
---
 webapps/docs/changelog.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index cf65e04..32e6f85 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -176,7 +176,7 @@
   
 Expand the documentation for the address attribute of the
 AJP Connector and document that the AJP Connector also supports the
-ipv6v6only attribute with the APR/Native implementaiton.
+ipv6v6only attribute with the APR/Native implementation.
 (markt)
   
 
@@ -196,7 +196,7 @@
 Tomcat. Contributions provided by B. Cansmile Cha. (markt)
   
   
-64190: Add support for specifing milliseconds (using
+64190: Add support for specifying milliseconds (using
 S, SS or SSS) in the timestamp
 used by JULIs OneLineFormatter. (markt)
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: [Bug 64210] parsing request headers fail

2020-03-10 Thread Martin Grigorov
On Tue, Mar 10, 2020 at 2:52 PM Mark Thomas  wrote:

> On 10/03/2020 10:14, bugzi...@apache.org wrote:
> > https://bz.apache.org/bugzilla/show_bug.cgi?id=64210
> >
> > --- Comment #3 from Mark Thomas  ---
> > Thanks. I'm able to reproduce this. I'm working on some additional test
> cases
> > and a fix.
> >
>
> Moving to the dev@ list as this isn't really related to fixing this issue.
>
> This is a regression in the HTTP header parsing fixes fir CRLF added in
> the recent release round.
>
> I'm leaning towards cancelling the current set of releases to pick up
> this fix.
>
> Thoughts?
>

Agreed!


>
> Mark
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>


[tomcat] branch 9.0.x updated: Fix typos

2020-03-10 Thread violetagg
This is an automated email from the ASF dual-hosted git repository.

violetagg pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/9.0.x by this push:
 new e4e1b76  Fix typos
e4e1b76 is described below

commit e4e1b76571ed24ed962b284f08f57dcd33ff8c5e
Author: Violeta Georgieva 
AuthorDate: Tue Mar 10 15:43:14 2020 +0200

Fix typos
---
 webapps/docs/changelog.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 0c8db22..858324e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -200,7 +200,7 @@
   
 Expand the documentation for the address attribute of the
 AJP Connector and document that the AJP Connector also supports the
-ipv6v6only attribute with the APR/Native implementaiton.
+ipv6v6only attribute with the APR/Native implementation.
 (markt)
   
 
@@ -230,7 +230,7 @@
 Tomcat. (remm)
   
   
-64190: Add support for specifing milliseconds (using
+64190: Add support for specifying milliseconds (using
 S, SS or SSS) in the timestamp
 used by JULIs OneLineFormatter. (markt)
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch master updated: Fix typos

2020-03-10 Thread violetagg
This is an automated email from the ASF dual-hosted git repository.

violetagg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/master by this push:
 new a812a85  Fix typos
a812a85 is described below

commit a812a85c84ae40d900072931adbd024b959d1bfe
Author: Violeta Georgieva 
AuthorDate: Tue Mar 10 15:40:35 2020 +0200

Fix typos
---
 webapps/docs/changelog.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index fdfc254..a85f645 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -178,7 +178,7 @@
   
 Expand the documentation for the address attribute of the
 AJP Connector and document that the AJP Connector also supports the
-ipv6v6only attribute with the APR/Native implementaiton.
+ipv6v6only attribute with the APR/Native implementation.
 (markt)
   
 
@@ -200,7 +200,7 @@
 Tomcat. (remm)
   
   
-64190: Add support for specifing milliseconds (using
+64190: Add support for specifying milliseconds (using
 S, SS or SSS) in the timestamp
 used by JULIs OneLineFormatter. (markt)
   
@@ -317,7 +317,7 @@
 log entry to write. Based on a patch by Karol Bucek. (markt)
   
   
-Update implementated specification version information in a few places
+Update implemented specification version information in a few places
 where it has not been updated for Jakarta EE 9. (markt)
   
   


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: [Bug 64210] parsing request headers fail

2020-03-10 Thread Rémy Maucherat
On Tue, Mar 10, 2020 at 1:52 PM Mark Thomas  wrote:

> On 10/03/2020 10:14, bugzi...@apache.org wrote:
> > https://bz.apache.org/bugzilla/show_bug.cgi?id=64210
> >
> > --- Comment #3 from Mark Thomas  ---
> > Thanks. I'm able to reproduce this. I'm working on some additional test
> cases
> > and a fix.
> >
>
> Moving to the dev@ list as this isn't really related to fixing this issue.
>
> This is a regression in the HTTP header parsing fixes fir CRLF added in
> the recent release round.
>
> I'm leaning towards cancelling the current set of releases to pick up
> this fix.
>
> Thoughts?
>

Ok, although it's probably not that common.

Rémy


>
> Mark
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>


Re: [Bug 64210] parsing request headers fail

2020-03-10 Thread Mark Thomas
On 10/03/2020 10:14, bugzi...@apache.org wrote:
> https://bz.apache.org/bugzilla/show_bug.cgi?id=64210
> 
> --- Comment #3 from Mark Thomas  ---
> Thanks. I'm able to reproduce this. I'm working on some additional test cases
> and a fix.
> 

Moving to the dev@ list as this isn't really related to fixing this issue.

This is a regression in the HTTP header parsing fixes fir CRLF added in
the recent release round.

I'm leaning towards cancelling the current set of releases to pick up
this fix.

Thoughts?

Mark

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 64210] parsing request headers fail

2020-03-10 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64210

--- Comment #3 from Mark Thomas  ---
Thanks. I'm able to reproduce this. I'm working on some additional test cases
and a fix.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 64210] parsing request headers fail

2020-03-10 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64210

--- Comment #2 from Christian H.  ---
It's just some large requests (a lot of cookies).

I have done some wireshark traffic recordings. For example one request was
split  into a 2948 bytes TCP packet (ending with CR) and a 539 bytes packet
(starting with LF)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch master updated: Redo timeout for blocking operations

2020-03-10 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/master by this push:
 new f9a8468  Redo timeout for blocking operations
f9a8468 is described below

commit f9a8468e934d439cbb7bf9c47d6f427d3dd787f4
Author: remm 
AuthorDate: Tue Mar 10 10:45:18 2020 +0100

Redo timeout for blocking operations

Use nanoTime this time since it's probably not that "expensive" since it
is only used when going into the poller. Add back special behavior to
reset the timeout for write (= every time some data is written).
---
 java/org/apache/tomcat/util/net/NioEndpoint.java | 46 
 1 file changed, 32 insertions(+), 14 deletions(-)

diff --git a/java/org/apache/tomcat/util/net/NioEndpoint.java 
b/java/org/apache/tomcat/util/net/NioEndpoint.java
index 5905bf3..88bddda 100644
--- a/java/org/apache/tomcat/util/net/NioEndpoint.java
+++ b/java/org/apache/tomcat/util/net/NioEndpoint.java
@@ -1144,28 +1144,35 @@ public class NioEndpoint extends 
AbstractJsseEndpoint
 }
 if (block) {
 long timeout = getReadTimeout();
+long startNanos = 0;
 do {
+if (startNanos > 0) {
+long elapsedMillis = 
TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startNanos);
+if (elapsedMillis == 0) {
+elapsedMillis = 1;
+}
+timeout -= elapsedMillis;
+if (timeout <= 0) {
+throw new SocketTimeoutException();
+}
+}
 n = socket.read(buffer);
 if (n == -1) {
 throw new EOFException();
-}
-if (n == 0) {
+} else if (n == 0) {
 readBlocking = true;
 registerReadInterest();
 synchronized (readLock) {
 if (readBlocking) {
 try {
 if (timeout > 0) {
+startNanos = System.nanoTime();
 readLock.wait(timeout);
 } else {
 readLock.wait();
 }
 } catch (InterruptedException e) {
-// Continue ...
-}
-if (readBlocking) {
-readBlocking = false;
-throw new SocketTimeoutException();
+// Continue
 }
 readBlocking = false;
 }
@@ -1191,32 +1198,43 @@ public class NioEndpoint extends 
AbstractJsseEndpoint
 }
 if (block) {
 long timeout = getWriteTimeout();
+long startNanos = 0;
 do {
+if (startNanos > 0) {
+long elapsedMillis = 
TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startNanos);
+if (elapsedMillis == 0) {
+elapsedMillis = 1;
+}
+timeout -= elapsedMillis;
+if (timeout <= 0) {
+throw new SocketTimeoutException();
+}
+}
 n = socket.write(buffer);
 if (n == -1) {
 throw new EOFException();
-}
-if (n == 0) {
+} else if (n == 0) {
 writeBlocking = true;
 registerWriteInterest();
 synchronized (writeLock) {
 if (writeBlocking) {
 try {
 if (timeout > 0) {
+startNanos = System.nanoTime();
 writeLock.wait(timeout);
 } else {
 writeLock.wait();
 }
 } catch (InterruptedException e) {
-// Continue ...
-}
-if (writeBlocking) {
-writeBlocking = false;
-throw new SocketTimeoutException();
+   

Re: [tomcat-native] Installation structure

2020-03-10 Thread Rainer Jung

Am 10.03.2020 um 10:04 schrieb Michael Osipov:

Chris,

Am 2020-03-09 um 22:22 schrieb Christopher Schultz:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Michael,

On 3/9/20 10:20, Michael Osipov wrote:

Folks,

I have been recently reviewing some downstream changes in
tomcat-native. Can someone explain me why we install headers files
along with .pc file?


. ├── bin ├── include │   ├── ssl_private.h │   ├── tcn_api.h │
├── tcn_version.h │   └── tcn.h └── lib ├── libtcnative-1.a ├──
libtcnative-1.la ├── libtcnative-1.so -> libtcnative-1.so.0.2.23
├── libtcnative-1.so.0 -> libtcnative-1.so.0.2.23 ├──
libtcnative-1.so.0.2.23 └── pkgconfig └── tcnative-1.pc


Why is bin dir created although we don't install anything into
it?!

ssl_private.h shouldn't definitively be there. What about the rest?
Does it really make sense to install them at all? Can/Are there
(be) any C users who compile and link against libtcnative?


It seems strange, but yes, we do have downstream libtcnative users. I
have no idea why they are using our wrappers.

Occasionally, we get a bug report about some basically-never-used
function in libtcnative, like the File API [1].


you are confusing downstream Java users with C users. If you look 
closely at those headers, they all define internal structs. There isn't 
a single prototype for public functions, yet no JNIEXPORT. All export is 
done in C code. None of these headers are intended to be used in an 
external C program and being linked with -ltcnative-1. In fact, they 
even require either OpenSSL and/or APR header files which breaks the 
abstraction from both.


Maybe someone else with more C knowledge can look into, Rainer?

I'd open a ticket to drastically reduce the install target to the 
libraries only.


Java users aren't affected at all because they load the dynamic library 
and access all symbols marked with JNIEXPORT.


I agree that our installation set (make install) looks mostly like 
unfinished work. I think we don't actually have a stable C API, so 
indeed the provided header, pkgconfig and libtool la files are not worth 
installing and might even be confusing for users who try "make install".


People who want to work on tcnative itself, need to use the source 
distribution and all people only using it via JNI only need the library.


I think the state of "make install" mostly reflext an original bigger 
plan for the library. Maybe Mladen has some more insight.



We should probably formally deprecate like 50% of libtcnative with an
eye toward throwing out all that code.

Even better, we should drop the APR connectors which would discard
even more code.

Even better than THAT, we should look at how to direct-call
OpenSSL/LibeSSL without having to use our own wrappers and completely
throw-away libtcnative entirely. I think this is "Project Panama" and
is something that evidently is actually arriving. Java 12 had some of
the initial work shipped with it, and Java 13 has continued that effort.


The only viable alternative I see at the moment is 
https://github.com/wildfly-security/wildfly-openssl.


Panama is too early and consider that Tomcat 10 is still Java 8, so 
unless Tomcat 11 isn't Java 17 this won't happen anytime soon.


Michael


Regards,

Rainer


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] branch 7.0.x updated: Prep for next version

2020-03-10 Thread violetagg
This is an automated email from the ASF dual-hosted git repository.

violetagg pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/7.0.x by this push:
 new e198191  Prep for next version
e198191 is described below

commit e198191b9a3d8f3528e8daa53ede858775b5f49e
Author: Violeta Georgieva 
AuthorDate: Tue Mar 10 11:18:45 2020 +0200

Prep for next version
---
 build.properties.default | 2 +-
 res/maven/mvn.properties.default | 2 +-
 webapps/docs/changelog.xml   | 2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/build.properties.default b/build.properties.default
index 0cb0654..964cda2 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -25,7 +25,7 @@
 # - Version Control Flags -
 version.major=7
 version.minor=0
-version.build=101
+version.build=102
 version.patch=0
 version.suffix=-dev
 
diff --git a/res/maven/mvn.properties.default b/res/maven/mvn.properties.default
index 63047a3..d896073 100644
--- a/res/maven/mvn.properties.default
+++ b/res/maven/mvn.properties.default
@@ -35,7 +35,7 @@ 
maven.asf.release.repo.url=https://repository.apache.org/service/local/staging/d
 maven.asf.release.repo.repositoryId=apache.releases
 
 # Release version info
-maven.asf.release.deploy.version=7.0.101
+maven.asf.release.deploy.version=7.0.102
 
 #Where do we load the libraries from
 tomcat.lib.path=../../output/build/lib
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index cc9b4f3..9430d7d 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -59,6 +59,8 @@
   They eventually become mixed with the numbered issues (i.e., numbered
   issues do not "pop up" wrt. others).
 -->
+
+
 
   
 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[VOTE] Release Apache Tomcat 7.0.101

2020-03-10 Thread Violeta Georgieva
The proposed Apache Tomcat 7.0.101 release is now available for voting.

It can be obtained from:
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/v7.0.101/
The Maven staging repo is:
https://repository.apache.org/content/repositories/orgapachetomcat-1253/
The git tag is:
https://github.com/apache/tomcat/tree/7.0.101
d4fbf65e1e8a952a7977c1c15871f30cc8e627bf

The proposed 7.0.101 release is:
[ ] Broken - do not release
[ ] Stable - go ahead and release as 7.0.101 Stable

Regards,
Violeta


Nexus: Staging Completed

2020-03-10 Thread Nexus Repository Manager
Message from: https://repository.apache.orgDescription:Close for voting Tomcat 7.0.101Deployer properties:"userAgent" = "maven-artifact/2.2.1 (Java 1.7.0_80; Windows 8.1 6.3)""userId" = "violetagg""ip" = "78.83.99.114"Details:The following artifacts have been staged/org/apache/tomcat/tomcat-i18n-de/7.0.101/tomcat-i18n-de-7.0.101.pom(SHA1: 37b60bce564c80ee5a931ca39aad96a4030b124e)/org/apache/tomcat/tomcat-i18n-de/7.0.101/tomcat-i18n-de-7.0.101.jar(SHA1: 8ee5cd4bfd695a13dbecbca0ee0b2f72b03a722b)/org/apache/tomcat/tomcat-i18n-de/7.0.101/tomcat-i18n-de-7.0.101.jar.asc(SHA1: 780978cfb9726b5c062526c9ecfe917722dc8528)/org/apache/tomcat/tomcat-i18n-de/7.0.101/tomcat-i18n-de-7.0.101.pom.asc(SHA1: 88e6d95a456a14f178ec5e9f084e5e22bdb7b9d3)/org/apache/tomcat/tomcat-juli/7.0.101/tomcat-juli-7.0.101.pom.asc(SHA1: 11abf85ba734950fbc49a8d1253362f760b8cf53)/org/apache/tomcat/tomcat-juli/7.0.101/tomcat-juli-7.0.101.jar(SHA1: 1a2e4301ca0c676a20b8dee14013c1038ea7789e)/org/apache/tomcat/tomcat-juli/7.0.101/tomcat-juli-7.0.101-sources.jar(SHA1: ec4c0a6bc0c44eae24097ca1878b1eb81bada2b3)/org/apache/tomcat/tomcat-juli/7.0.101/tomcat-juli-7.0.101-sources.jar.asc(SHA1: dd994c17315ab064257426430d33c26d75534a02)/org/apache/tomcat/tomcat-juli/7.0.101/tomcat-juli-7.0.101.jar.asc(SHA1: ebdf36548699514c9be9b99c7ccf8b4278b8370d)/org/apache/tomcat/tomcat-juli/7.0.101/tomcat-juli-7.0.101.pom(SHA1: b3638309b93097c8c42e04ffda59f5e896f4a959)/org/apache/tomcat/tomcat-util/7.0.101/tomcat-util-7.0.101.pom(SHA1: 67429057dd269b1077c249da172fe02e6558a063)/org/apache/tomcat/tomcat-util/7.0.101/tomcat-util-7.0.101-sources.jar(SHA1: 55d2e225c6e74653a6b838989279d027ff540a82)/org/apache/tomcat/tomcat-util/7.0.101/tomcat-util-7.0.101.jar(SHA1: 95c05b6cd11e86501659343d30815afa6d93ee7b)/org/apache/tomcat/tomcat-util/7.0.101/tomcat-util-7.0.101-sources.jar.asc(SHA1: af72aefbde487735d2179fb0a22af6fe2f71d8bb)/org/apache/tomcat/tomcat-util/7.0.101/tomcat-util-7.0.101.pom.asc(SHA1: 805bcc31ac6e41743ffac07ab87c49938632e840)/org/apache/tomcat/tomcat-util/7.0.101/tomcat-util-7.0.101.jar.asc(SHA1: 4cdac0ca069e9f7b8b18aa8bced7600b3cb707fc)/org/apache/tomcat/tomcat-catalina/7.0.101/tomcat-catalina-7.0.101.pom(SHA1: 4ca13b3c81676b3d497388a730e96aae57251e23)/org/apache/tomcat/tomcat-catalina/7.0.101/tomcat-catalina-7.0.101-sources.jar.asc(SHA1: c789bc4c7061d52ebd5518f1458da0c9f0203f61)/org/apache/tomcat/tomcat-catalina/7.0.101/tomcat-catalina-7.0.101-sources.jar(SHA1: 4b66633cf2142429b1ae66b196bad8f9f6d0d383)/org/apache/tomcat/tomcat-catalina/7.0.101/tomcat-catalina-7.0.101.jar.asc(SHA1: 756ca7c5e5753d174e782c63ad903f62f55258a4)/org/apache/tomcat/tomcat-catalina/7.0.101/tomcat-catalina-7.0.101.jar(SHA1: d8842606b838955f552a1a4c28aa1b40215e2f28)/org/apache/tomcat/tomcat-catalina/7.0.101/tomcat-catalina-7.0.101.pom.asc(SHA1: af3437fcb040f94d9187347098b2f24ee93ed840)/org/apache/tomcat/tomcat-catalina-ws/7.0.101/tomcat-catalina-ws-7.0.101-sources.jar(SHA1: 7c802bdfa200ca9634a8dfbd5d3c1380f9fbdbc2)/org/apache/tomcat/tomcat-catalina-ws/7.0.101/tomcat-catalina-ws-7.0.101.jar(SHA1: c20e97cca319bccf8e940e27c6978677c1f07125)/org/apache/tomcat/tomcat-catalina-ws/7.0.101/tomcat-catalina-ws-7.0.101.pom.asc(SHA1: 7578cb7062886b1552fe5a4a4d1717d27cc70f0c)/org/apache/tomcat/tomcat-catalina-ws/7.0.101/tomcat-catalina-ws-7.0.101.pom(SHA1: 224532df322c8034f20e053d5d0d849f55c8)/org/apache/tomcat/tomcat-catalina-ws/7.0.101/tomcat-catalina-ws-7.0.101.jar.asc(SHA1: d8fa5dd3ed72bb5b2b4163f823d8814a6b576d0b)/org/apache/tomcat/tomcat-catalina-ws/7.0.101/tomcat-catalina-ws-7.0.101-sources.jar.asc(SHA1: 412ac18b9f7f08e778518a7cbb879836bebc5d26)/org/apache/tomcat/tomcat-i18n-fr/7.0.101/tomcat-i18n-fr-7.0.101.pom(SHA1: b0c0ad96b4b60d0dc49fb34663f83a87d4b3fb31)/org/apache/tomcat/tomcat-i18n-fr/7.0.101/tomcat-i18n-fr-7.0.101.pom.asc(SHA1: 047127bd20492aa296971a17a97e46dccb25fbfa)/org/apache/tomcat/tomcat-i18n-fr/7.0.101/tomcat-i18n-fr-7.0.101.jar(SHA1: 7dd7ce86b534766875194f5462b4c73e1d62dbc7)/org/apache/tomcat/tomcat-i18n-fr/7.0.101/tomcat-i18n-fr-7.0.101.jar.asc(SHA1: f95188aa0bb7eb4e903005a9cea2456a43d1fba2)/org/apache/tomcat/tomcat-jdbc/7.0.101/tomcat-jdbc-7.0.101.pom(SHA1: 798df46569eaea3c0b45390c00e15d798ecf3a3a)/org/apache/tomcat/tomcat-jdbc/7.0.101/tomcat-jdbc-7.0.101-sources.jar(SHA1: 8fbf6be5ec49fd010937eab454713aa6147b291f)/org/apache/tomcat/tomcat-jdbc/7.0.101/tomcat-jdbc-7.0.101.jar.asc(SHA1: 393c1ce4687578f1f778648695a3f160011846b6)/org/apache/tomcat/tomcat-jdbc/7.0.101/tomcat-jdbc-7.0.101-sources.jar.asc(SHA1: 6026dcfa1a4fcd2dcec830ff7405bcd5df2f8586)/org/apache/tomcat/tomcat-jdbc/7.0.101/tomcat-jdbc-7.0.101.jar(SHA1: 592c7d93e3821bbe5c153018c5f8cb0eec46fef7)/org/apache/tomcat/tomcat-jdbc/7.0.101/tomcat-jdbc-7.0.101.pom.asc(SHA1: 5a57e3a0d89e07dcca840a32166139dbc3800f7c)/org/apache/tomcat/embed/tomcat-embed-logging-log4j/7.0.101/tomcat-embed-logging-log4j-7.0.101.pom(SHA1: 

svn commit: r38457 [1/2] - in /dev/tomcat/tomcat-7/v7.0.101: ./ bin/ bin/embed/ bin/extras/ src/

2020-03-10 Thread violetagg
Author: violetagg
Date: Tue Mar 10 09:07:54 2020
New Revision: 38457

Log:
Stage Tomcat 7.0.101

Added:
dev/tomcat/tomcat-7/v7.0.101/
dev/tomcat/tomcat-7/v7.0.101/KEYS
dev/tomcat/tomcat-7/v7.0.101/README.html
dev/tomcat/tomcat-7/v7.0.101/RELEASE-NOTES
dev/tomcat/tomcat-7/v7.0.101/bin/
dev/tomcat/tomcat-7/v7.0.101/bin/README.html
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-deployer.tar.gz   
(with props)
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-deployer.tar.gz.asc

dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-deployer.tar.gz.sha512
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-deployer.zip   (with 
props)
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-deployer.zip.asc
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-deployer.zip.sha512
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-fulldocs.tar.gz   
(with props)
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-fulldocs.tar.gz.asc

dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-fulldocs.tar.gz.sha512
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-windows-x64.zip   
(with props)
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-windows-x64.zip.asc

dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-windows-x64.zip.sha512
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-windows-x86.zip   
(with props)
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-windows-x86.zip.asc

dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101-windows-x86.zip.sha512
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101.exe   (with props)
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101.exe.asc
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101.exe.sha512
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101.tar.gz   (with props)
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101.tar.gz.asc
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101.tar.gz.sha512
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101.zip   (with props)
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101.zip.asc
dev/tomcat/tomcat-7/v7.0.101/bin/apache-tomcat-7.0.101.zip.sha512
dev/tomcat/tomcat-7/v7.0.101/bin/embed/
dev/tomcat/tomcat-7/v7.0.101/bin/embed/apache-tomcat-7.0.101-embed.tar.gz   
(with props)

dev/tomcat/tomcat-7/v7.0.101/bin/embed/apache-tomcat-7.0.101-embed.tar.gz.asc

dev/tomcat/tomcat-7/v7.0.101/bin/embed/apache-tomcat-7.0.101-embed.tar.gz.sha512
dev/tomcat/tomcat-7/v7.0.101/bin/embed/apache-tomcat-7.0.101-embed.zip   
(with props)
dev/tomcat/tomcat-7/v7.0.101/bin/embed/apache-tomcat-7.0.101-embed.zip.asc

dev/tomcat/tomcat-7/v7.0.101/bin/embed/apache-tomcat-7.0.101-embed.zip.sha512
dev/tomcat/tomcat-7/v7.0.101/bin/extras/
dev/tomcat/tomcat-7/v7.0.101/bin/extras/catalina-jmx-remote.jar   (with 
props)
dev/tomcat/tomcat-7/v7.0.101/bin/extras/catalina-jmx-remote.jar.asc
dev/tomcat/tomcat-7/v7.0.101/bin/extras/catalina-jmx-remote.jar.sha512
dev/tomcat/tomcat-7/v7.0.101/bin/extras/catalina-ws.jar   (with props)
dev/tomcat/tomcat-7/v7.0.101/bin/extras/catalina-ws.jar.asc
dev/tomcat/tomcat-7/v7.0.101/bin/extras/catalina-ws.jar.sha512
dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli-adapters.jar   (with 
props)
dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli-adapters.jar.asc
dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli-adapters.jar.sha512
dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli.jar   (with props)
dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli.jar.asc
dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli.jar.sha512
dev/tomcat/tomcat-7/v7.0.101/src/
dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.tar.gz   (with 
props)
dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.tar.gz.asc
dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.tar.gz.sha512
dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.zip   (with 
props)
dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.zip.asc
dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.zip.sha512

Added: dev/tomcat/tomcat-7/v7.0.101/KEYS
==
--- dev/tomcat/tomcat-7/v7.0.101/KEYS (added)
+++ dev/tomcat/tomcat-7/v7.0.101/KEYS Tue Mar 10 09:07:54 2020
@@ -0,0 +1,650 @@
+This file contains the PGP keys of various Apache developers.
+Please don't use them for email unless you have to. Their main
+purpose is code signing.
+
+Apache users: pgp < KEYS
+Apache developers:
+(pgpk -ll  && pgpk -xa ) >> this file.
+  or
+(gpg --fingerprint --list-sigs 
+ && gpg --armor --export ) >> this file.
+
+Apache developers: please ensure that your key is also available via the
+PGP keyservers (such as pgpkeys.mit.edu).
+
+
+Type Bits/KeyIDDate 

svn commit: r38457 [2/2] - in /dev/tomcat/tomcat-7/v7.0.101: ./ bin/ bin/embed/ bin/extras/ src/

2020-03-10 Thread violetagg
Added: dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli-adapters.jar.sha512
==
--- dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli-adapters.jar.sha512 
(added)
+++ dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli-adapters.jar.sha512 Tue 
Mar 10 09:07:54 2020
@@ -0,0 +1 @@
+6adbb444f35941521b030f564f4d183811447cdb8296623b17427b8d953ea1c85ceda7056ba27009dcd9e818387dd06016c99ac022979aa9b5131c7856a79e01
 *tomcat-juli-adapters.jar
\ No newline at end of file

Added: dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli.jar
==
Binary file - no diff available.

Propchange: dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli.jar
--
svn:mime-type = application/octet-stream

Added: dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli.jar.asc
==
--- dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli.jar.asc (added)
+++ dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli.jar.asc Tue Mar 10 
09:07:54 2020
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCAAdFiEEcT2oi+UJEVNf5xb1IIsKsdYwEccFAl5nUSYACgkQIIsKsdYw
+Ecd17xAA30vpmIdxZ5x7T/mSrF8u0foc9X46I93b7F1mRVcgj9zqx/ii8hNeONCF
+4uHy1NbJFMS78833BMBtTfBjproEJiyRkQbqbd7zx1ioFAo+Wzmb2IMQdZWejDYn
+sk8gq0NQ44BFC5+th3/oigcyfhWV+qnwe6DebZUSgf5Q0wyQeVl+Fasv6lM1HwAS
+lPhvhJnrLyxiHiAh2TFLbngU3eT9G1+kuDyUw5j0adHff5pZiBGEPkk38LdmQXXD
+iJPPQUEwngvDqg0Vfj11rlG7mo3E/pc+x+ct29CLBuMdM/RPpauIRNLVS+COsgvW
+H/B3/L5XG2KFlFzVe0xTAYfQA5+erg6IkIkH8MBxq15uytsCotvoIM6AWmFPHsa2
+s/i5MYXJkK9q5C9lg+J7Bh6UM00ghcho9wHk8ljPxU2Q7NmLfC7zFHoCNga+Xl4N
++z1oyEL4uyGElKcrTemPmwj1cjWlC/xqizWWhncU9NMNG1vK2aEtYzG3zKqkZDVu
+IQ6ltXR4rMTBTFRf2dOLzwtWyqFnF0UKC1GUrVR4Wd2ILAIBNwwYRGvdBn0o/dO6
+I1nxc0NcMPEi5Q+5+vSNYA3D0sCWtXrJI/150Os6KnxuzAvZj2K7oc9lCRxsgZhI
+QntTfMgSn9i5U0K3lkscTpIPbyX5XKlAptDhYR4QH1IYXf3yG4A=
+=aSxb
+-END PGP SIGNATURE-

Added: dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli.jar.sha512
==
--- dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli.jar.sha512 (added)
+++ dev/tomcat/tomcat-7/v7.0.101/bin/extras/tomcat-juli.jar.sha512 Tue Mar 10 
09:07:54 2020
@@ -0,0 +1 @@
+44abfa81de814a30231d50ea8f4c8bebdc6e3452c2808631dc13f067c0dc9e063810a316e5ad27496e68c3c9179219686276d3a6d68c5fa4c2d29d481fb3930d
 *tomcat-juli.jar
\ No newline at end of file

Added: dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.tar.gz
==
Binary file - no diff available.

Propchange: dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.tar.gz
--
svn:mime-type = application/octet-stream

Added: dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.tar.gz.asc
==
--- dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.tar.gz.asc 
(added)
+++ dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.tar.gz.asc Tue 
Mar 10 09:07:54 2020
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCAAdFiEEcT2oi+UJEVNf5xb1IIsKsdYwEccFAl5nUwAACgkQIIsKsdYw
+Ece30BAAysLzThANhOV9uwxB8g2GsMuoqiMQnZ7TEMUbgRxXZcQgXcb1X9VGiZUm
+WPxpxifjO8dV2lcwgMuLv7FuwDEN+za33xLejRO3gh9myg3FFIIzehZtUjqQq48V
+aBmWBNInPuzO0W99w00ApzAkfSwhjjQJJuYxg6Whvn5gDxPn7TGQ3AAZ1bKcsFBV
+uk7J/ejxuCKk9O7z3lN79VEBHSrmbF8QZsn8gBFV3K5/KZJjyL46OwnGGhuZa1YL
+kOQHfgi7SdjZRa7HqOHF8ha7SFT2UCf51iFqx2XK9vm8T+K4H4bzEg73VjtRhZLG
+bT2cCrIK1EzbfzTrwwHAb8UOV6gIPrPAjGRFugl3sjWuGxb+DzpB49JC3Pc13yri
+Kx5AlDjuy7FrFIlB8Nut09CEp4xk5Y9uZSlVfJxA2WcNQ7FAEa6tk9GqgOf5zb3R
+3LLOV/H5E+XdYQ0yADf4n2frxwSJwbsrvaxgbSh20gdZ7Zw2TvUkgO1CKYPXoEJq
+nQ1ipVUCJizY9tIzsEeyuDBvEdzAPj1NNc8HeTm1nb9Mv/h4OCFBxY3bJvGqOND3
+H01OXuZPlwXcSu0ios+1U5ILD+/E4YlIJXZ4DOt0Dl6hKNBEZ5ZFUSDjB3SQMwE+
+ckYkxtLYXQAUm94QXgflZiBcUuKS55caj8i9W0aMk1opfL9Ddzk=
+=sT5F
+-END PGP SIGNATURE-

Added: dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.tar.gz.sha512
==
--- dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.tar.gz.sha512 
(added)
+++ dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.tar.gz.sha512 
Tue Mar 10 09:07:54 2020
@@ -0,0 +1 @@
+49a72d5122b4f72f46f015853d662070719112e931d5f4a7cdf793caf6d8f1bef7abb5ccc14776561519a0ad3a0904b01d4c602b65d2a33de04d588bc28f5bf3
 *apache-tomcat-7.0.101-src.tar.gz
\ No newline at end of file

Added: dev/tomcat/tomcat-7/v7.0.101/src/apache-tomcat-7.0.101-src.zip
==
Binary file - no diff available.

Propchange: 

[Bug 64210] parsing request headers fail

2020-03-10 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64210

--- Comment #1 from Mark Thomas  ---
I'll take a look.

What is triggering the headers to split across multiple TCP packets? That seems
a little unusual.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: [tomcat-native] Installation structure

2020-03-10 Thread Michael Osipov

Chris,

Am 2020-03-09 um 22:22 schrieb Christopher Schultz:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Michael,

On 3/9/20 10:20, Michael Osipov wrote:

Folks,

I have been recently reviewing some downstream changes in
tomcat-native. Can someone explain me why we install headers files
along with .pc file?


. ├── bin ├── include │   ├── ssl_private.h │   ├── tcn_api.h │
├── tcn_version.h │   └── tcn.h └── lib ├── libtcnative-1.a ├──
libtcnative-1.la ├── libtcnative-1.so -> libtcnative-1.so.0.2.23
├── libtcnative-1.so.0 -> libtcnative-1.so.0.2.23 ├──
libtcnative-1.so.0.2.23 └── pkgconfig └── tcnative-1.pc


Why is bin dir created although we don't install anything into
it?!

ssl_private.h shouldn't definitively be there. What about the rest?
Does it really make sense to install them at all? Can/Are there
(be) any C users who compile and link against libtcnative?


It seems strange, but yes, we do have downstream libtcnative users. I
have no idea why they are using our wrappers.

Occasionally, we get a bug report about some basically-never-used
function in libtcnative, like the File API [1].


you are confusing downstream Java users with C users. If you look 
closely at those headers, they all define internal structs. There isn't 
a single prototype for public functions, yet no JNIEXPORT. All export is 
done in C code. None of these headers are intended to be used in an 
external C program and being linked with -ltcnative-1. In fact, they 
even require either OpenSSL and/or APR header files which breaks the 
abstraction from both.


Maybe someone else with more C knowledge can look into, Rainer?

I'd open a ticket to drastically reduce the install target to the 
libraries only.


Java users aren't affected at all because they load the dynamic library 
and access all symbols marked with JNIEXPORT.



We should probably formally deprecate like 50% of libtcnative with an
eye toward throwing out all that code.

Even better, we should drop the APR connectors which would discard
even more code.

Even better than THAT, we should look at how to direct-call
OpenSSL/LibeSSL without having to use our own wrappers and completely
throw-away libtcnative entirely. I think this is "Project Panama" and
is something that evidently is actually arriving. Java 12 had some of
the initial work shipped with it, and Java 13 has continued that effort.


The only viable alternative I see at the moment is 
https://github.com/wildfly-security/wildfly-openssl.


Panama is too early and consider that Tomcat 10 is still Java 8, so 
unless Tomcat 11 isn't Java 17 this won't happen anytime soon.


Michael


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] 01/01: Tag 7.0.101

2020-03-10 Thread violetagg
This is an automated email from the ASF dual-hosted git repository.

violetagg pushed a commit to tag 7.0.101
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit d4fbf65e1e8a952a7977c1c15871f30cc8e627bf
Author: Violeta Georgieva 
AuthorDate: Tue Mar 10 07:40:58 2020 +

Tag 7.0.101
---
 build.properties.default | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.properties.default b/build.properties.default
index 0cb0654..334be25 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -27,7 +27,7 @@ version.major=7
 version.minor=0
 version.build=101
 version.patch=0
-version.suffix=-dev
+version.suffix=
 
 # - Source control flags -
 git.branch=7.0.x


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat] tag 7.0.101 created (now d4fbf65)

2020-03-10 Thread violetagg
This is an automated email from the ASF dual-hosted git repository.

violetagg pushed a change to tag 7.0.101
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


  at d4fbf65  (commit)
This tag includes the following new commits:

 new d4fbf65  Tag 7.0.101

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 64210] New: parsing request headers fail

2020-03-10 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64210

Bug ID: 64210
   Summary: parsing request headers fail
   Product: Tomcat 9
   Version: 9.0.31
  Hardware: All
OS: All
Status: NEW
  Severity: critical
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: christian.haberm...@gmail.com
  Target Milestone: -

Since we switched to tomcat 9.0.31, a lot of responses fail with HTTP status
400 Bad Request.

org.apache.coyote.http11.Http11Processor tells us, that the requests fail due
to "The HTTP/1.1 request did not provide a host header". But the affected
requests all have a host header.

We found out that this problem occurs when a request is send in multiple
TCP-packets and one packet ends with (CR) an the next starts with (LF).

e.g.
TCP packet 1: "Accept: image/webp,*/*(CR)",
TCP packet 2: "(LF)Host: www.myhost.com(CR)(LF)(CR)(LF)"

As far as I can see, there was a change in header parsing between 9.0.30 and
9.0.31:
https://github.com/apache/tomcat/commit/ae8c82eff96990878e79691819ae941538ee62fd#diff-6d40d03c206f9d0696e5fa2c3b015c2e

My suspicion is that - if the bytebuffer used in
org.apache.coyote.http11.Http11InputBuffer.parseHeader() starts with an (LF),
parsing fails.
In previous version a LF lead to parse status DONE:

} else if (chr == Constants.LF) {
return HeaderParseStatus.DONE;

But now the previous char has to be a (CR), which may be not the case, if the
ByteBuffer just got filled with the part that starts with the (LF) 

} else if (prevChr == Constants.CR && chr == Constants.LF) {
return HeaderParseStatus.DONE;

(with the assumption to the new behaviour I'm not 100% sure though)

After having a first look at the parseHeader()-method, it may be useful to
initialize prevChr with the char at ByteBuffer's previous position.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org