[VOTE] Release Apache Tomcat 10.1.0-M18
The proposed Apache Tomcat 10.1.0-M18 release is now available for voting. Applications that run on Tomcat 9 and earlier will not run on Tomcat 10 without changes. Java EE applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee directory and Tomcat will automatically convert them to Jakarta EE and copy them to the webapps directory. The notable changes compared to 10.1.0-M17 are: - Add support for authenticating WebSocket clients with an HTTP forward proxy when establishing a connection to a WebSocket endpoint via a forward proxy that requires authentication. Based on a patch provided by Joe Mokos. - Various fixes for edge case bugs in EL processing - Improve host header handling for HTTP/2 requests For full details, see the change log: https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.0-M18/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1388 The tag is: https://github.com/apache/tomcat/tree/10.1.0-M18 ae9df1bcc169a5b03adea54c8c19ca9bd902e44f The proposed 10.1.0-M18 release is: [ ] Broken - do not release [ ] Beta - go ahead and release as 10.1.0-M18 (beta) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r56793 - in /dev/tomcat/tomcat-10/v10.1.0-M18: ./ bin/ bin/embed/ src/
Author: markt Date: Mon Sep 12 20:53:10 2022 New Revision: 56793 Log: Upload 10.1.0-M18 for voting Added: dev/tomcat/tomcat-10/v10.1.0-M18/ dev/tomcat/tomcat-10/v10.1.0-M18/KEYS dev/tomcat/tomcat-10/v10.1.0-M18/README.html dev/tomcat/tomcat-10/v10.1.0-M18/RELEASE-NOTES dev/tomcat/tomcat-10/v10.1.0-M18/bin/ dev/tomcat/tomcat-10/v10.1.0-M18/bin/README.html dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18-deployer.tar.gz (with props) dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18-deployer.tar.gz.sha512 dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18-deployer.zip (with props) dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18-deployer.zip.sha512 dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18-fulldocs.tar.gz (with props) dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18-fulldocs.tar.gz.sha512 dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18-windows-x64.zip (with props) dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18-windows-x64.zip.sha512 dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18-windows-x86.zip (with props) dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18-windows-x86.zip.sha512 dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18.exe (with props) dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18.exe.sha512 dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18.tar.gz (with props) dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18.tar.gz.sha512 dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18.zip (with props) dev/tomcat/tomcat-10/v10.1.0-M18/bin/apache-tomcat-10.1.0-M18.zip.sha512 dev/tomcat/tomcat-10/v10.1.0-M18/bin/embed/ dev/tomcat/tomcat-10/v10.1.0-M18/bin/embed/apache-tomcat-10.1.0-M18-embed.tar.gz (with props) dev/tomcat/tomcat-10/v10.1.0-M18/bin/embed/apache-tomcat-10.1.0-M18-embed.tar.gz.sha512 dev/tomcat/tomcat-10/v10.1.0-M18/bin/embed/apache-tomcat-10.1.0-M18-embed.zip (with props) dev/tomcat/tomcat-10/v10.1.0-M18/bin/embed/apache-tomcat-10.1.0-M18-embed.zip.sha512 dev/tomcat/tomcat-10/v10.1.0-M18/src/ dev/tomcat/tomcat-10/v10.1.0-M18/src/apache-tomcat-10.1.0-M18-src.tar.gz (with props) dev/tomcat/tomcat-10/v10.1.0-M18/src/apache-tomcat-10.1.0-M18-src.tar.gz.sha512 dev/tomcat/tomcat-10/v10.1.0-M18/src/apache-tomcat-10.1.0-M18-src.zip (with props) dev/tomcat/tomcat-10/v10.1.0-M18/src/apache-tomcat-10.1.0-M18-src.zip.sha512 Added: dev/tomcat/tomcat-10/v10.1.0-M18/KEYS == --- dev/tomcat/tomcat-10/v10.1.0-M18/KEYS (added) +++ dev/tomcat/tomcat-10/v10.1.0-M18/KEYS Mon Sep 12 20:53:10 2022 @@ -0,0 +1,453 @@ +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). + + +pub 4096R/2F6059E7 2009-09-18 + Key fingerprint = A9C5 DF4D 22E9 9998 D987 5A51 10C0 1C5A 2F60 59E7 +uid Mark E D Thomas +sub 4096R/5E763BEC 2009-09-18 + +-BEGIN PGP PUBLIC KEY BLOCK- +Comment: GPGTools - http://gpgtools.org + +mQINBEq0DukBEAD4jovHOPJDxoD+JnO1Go2kiwpgRULasGlrVKuSUdP6wzcaqWmX +pqtOJKKwW2MQFQLmg7nQ9RjJwy3QCbKNDJQA/bwbQT1F7WzTCz2S6vxC4zxKck4t +6RZBq2dJsYKF0CEh6ZfY4dmKvhq+3istSoFRdHYoOPGWZpuRDqfZPdGm/m335/6K +GH59oysn1NE7a2a+kZzjBSEgv23+l4Z1Rg7+fpz1JcdHSdC2Z+ZRxML25eVatRVz +4yvDOZItqDURP24zWOodxgboldV6Y88C3v/7KRR+1vklzkuA2FqF8Q4r/2f0su7M +UVviQcy29y/RlLSDTTYoVlCZ1ni14qFU7Hpw43KJtgXmcUwq31T1+SlXdYjNJ1aF +kUi8BjCHDcSgE/IReKUanjHzm4XSymKDTeqqzidi4k6PDD4jyHb8k8vxi6qT6Udn +lcfo5NBkkUT1TauhEy8ktHhbl9k60BvvMBP9l6cURiJg1WS77egI4P/82oPbzzFi +GFqXyJKULVgxtdQ3JikCpodp3f1fh6PlYZwkW4xCJLJucJ5MiQp07HAkMVW5w+k8 +Xvuk4i5quh3N+2kzKHOOiQCDmN0sz0XjOE+7XBvM1lvz3+UarLfgSVmW8aheLd7e +aIl5ItBk8844ZJ60LrQ+JiIqvqJemxyIM6epoZvY5a3ZshZpcLilC5hW8QARAQAB +tCJNYXJrIEUgRCBUaG9tYXMgPG1hcmt0QGFwYWNoZS5vcmc+iQI3BBMBCgAhBQJK +tA7pAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEBDAHFovYFnn2YgQAKN6 +FLG/I1Ij3PUlC/XNlhasQxPeE3w2OvttweOQPYkblJ9nHtGH5pNqG2/qoGShlpI0 +4jJy9GxWKOo7NV4v7M0mbVlCXVgjdlvMFWdL7lnocggwJAFejQcYlVtxyhu4m50L +BvBunEhxCbQcKnnWmkB7Ocm0Ictaqjc9rCc1F/aNhVMUpJ0zG1kyTp9hxvN6TbCQ +lacMx5ocTWzL0zn6QZhbUfrYwfxYJmSnkVYZOYzXIXIsLN5sJ9Q4P8tjY4qWgd+b +QvOqPWrkzL9LVRnGOrSYIsoM5zWdoj1g1glMzK/ZqJdRqqqBhe6FYTbXipz8oX8i +mCebcaxZnfLhGiqqX+yDa3YUwDiqom+sZOc0iXGvKkqltPLpNeF0MVT7aZjalsQ/ +v2Ysb24RQl9FfjfWmvT8ZPWz8Kore1AI4UcIIgFVtM+zuLlL9CIsGjg+gHDE2dhZ
[tomcat] 01/01: Tag 10.1.0-M18
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to tag 10.1.0-M18 in repository https://gitbox.apache.org/repos/asf/tomcat.git commit ae9df1bcc169a5b03adea54c8c19ca9bd902e44f Author: Mark Thomas AuthorDate: Mon Sep 12 21:24:43 2022 +0100 Tag 10.1.0-M18 --- build.properties.release | 49 +++ res/install-win/Uninstall.exe.sig| Bin 0 -> 10253 bytes res/install-win/tomcat-installer.exe.sig | Bin 0 -> 10253 bytes res/maven/mvn.properties.release | 27 + webapps/docs/changelog.xml | 2 +- 5 files changed, 77 insertions(+), 1 deletion(-) diff --git a/build.properties.release b/build.properties.release new file mode 100644 index 00..4bfb06cc1a --- /dev/null +++ b/build.properties.release @@ -0,0 +1,49 @@ +# - +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# - + +# This file was auto-generated by the pre-release Ant target. + +# Any unwanted settings may be over-ridden in a build.properties file located +# in the same directory as this file. + +# Set the version-dev to "" (empty string) as this is not a development release. +version.dev= + +# Ensure consistent timestamps for reproducible builds. +ant.tstamp.now.iso=2022-09-12T20:13:39Z + +# Enable insertion of detatched signatures into the Windows installer. +do.codesigning=true + +# Reproducible builds require the use of the build tools defined below. The +# vendors (where appropriate) and versions must match exactly for a reproducible +# build since this data is embedded in various files, particularly JAR file +# manifests, as part of the build process. +# +# Apache Ant: Apache Ant(TM) version 1.10.12 compiled on October 13 2021 +# +# Java Name: OpenJDK 64-Bit Server VM +# Java Vendor: Eclipse Adoptium +# Java Version:11.0.15+10 + +# The following is provided for information only. Builds will be repeatable +# whether or not the build ennvironment in consistent with this information. +# +# OS: amd64 Windows Server 2022 10.0 +# File encoding: Cp1252 +# +# Release Manager: markt diff --git a/res/install-win/Uninstall.exe.sig b/res/install-win/Uninstall.exe.sig new file mode 100644 index 00..2d80725311 Binary files /dev/null and b/res/install-win/Uninstall.exe.sig differ diff --git a/res/install-win/tomcat-installer.exe.sig b/res/install-win/tomcat-installer.exe.sig new file mode 100644 index 00..72d0a14523 Binary files /dev/null and b/res/install-win/tomcat-installer.exe.sig differ diff --git a/res/maven/mvn.properties.release b/res/maven/mvn.properties.release new file mode 100644 index 00..2571ea8558 --- /dev/null +++ b/res/maven/mvn.properties.release @@ -0,0 +1,27 @@ +# - +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# - + +# This file was auto-generated by the pre-release Ant target. + +# Remove "-dev" from the version since this is not a development release. +maven.asf.release.deploy.version=10.1.0-M18 + +# Re-use the same GPG executable. +gpg.exec=C:/Program Files (x86)/GnuPG/bin/gpg.exe + +# Set the user name to use to upload the artefacts to Nexus. +asf.ldap.username=markt
[tomcat] tag 10.1.0-M18 created (now ae9df1bcc1)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to tag 10.1.0-M18 in repository https://gitbox.apache.org/repos/asf/tomcat.git at ae9df1bcc1 (commit) This tag includes the following new commits: new ae9df1bcc1 Tag 10.1.0-M18 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] branch 10.0.x updated: Upgrade migration tool for Jakarta EE to 1.0.3
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new 3b89f7eeaa Upgrade migration tool for Jakarta EE to 1.0.3 3b89f7eeaa is described below commit 3b89f7eeaad4eda8ee25f34f0bd7aff8150e589f Author: Mark Thomas AuthorDate: Mon Sep 12 21:11:20 2022 +0100 Upgrade migration tool for Jakarta EE to 1.0.3 --- build.properties.default | 6 +++--- webapps/docs/changelog.xml | 4 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/build.properties.default b/build.properties.default index fed31316f4..4bf74a263c 100644 --- a/build.properties.default +++ b/build.properties.default @@ -310,12 +310,12 @@ bnd.jar=${bnd.home}/biz.aQute.bnd-${bnd.version}.jar bnd.loc=${base-maven.loc}/biz/aQute/bnd/biz.aQute.bnd/${bnd.version}/biz.aQute.bnd-${bnd.version}.jar # - Tomcat Migration Tool for Jakarta EE - -migration-lib.version=1.0.1 +migration-lib.version=1.0.3 -# checksums for jakartaee-migration-1.0.1-shaded.jar +# checksums for jakartaee-migration-1.0.3-shaded.jar migration-lib.checksum.enabled=true migration-lib.checksum.algorithm=MD5|SHA-1 -migration-lib.checksum.value=c81ed5111319cf59073b9d96d368bc6f|5deeb6d46401642df23cbc48c5766321bc3d7b44 +migration-lib.checksum.value=9b068ac98f98932fabb3dadf2523a27e|17a0d6f6eb19f11ba300b178ef460bcdc5837f61 migration-lib.home=${base.path}/migration-${migration-lib.version} migration-lib.jar=${migration-lib.home}/jakartaee-migration-${migration-lib.version}-shaded.jar diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 1020995712..b1c22e0788 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -323,6 +323,10 @@ Improvements to Spanish translations. (markt) + +Update the Apache Tomcat migration tool for Jakarta EE library to 1.0.3. +(markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Upgrade migration tool for Jakarta EE to 1.0.3
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 52a004996d Upgrade migration tool for Jakarta EE to 1.0.3 52a004996d is described below commit 52a004996de8e5c1da5e0f1dd75dc989e83452e6 Author: Mark Thomas AuthorDate: Mon Sep 12 21:11:20 2022 +0100 Upgrade migration tool for Jakarta EE to 1.0.3 --- build.properties.default | 6 +++--- webapps/docs/changelog.xml | 4 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/build.properties.default b/build.properties.default index 1a7b0a2b3a..f32f670708 100644 --- a/build.properties.default +++ b/build.properties.default @@ -305,12 +305,12 @@ bnd.jar=${bnd.home}/biz.aQute.bnd-${bnd.version}.jar bnd.loc=${base-maven.loc}/biz/aQute/bnd/biz.aQute.bnd/${bnd.version}/biz.aQute.bnd-${bnd.version}.jar # - Tomcat Migration Tool for Jakarta EE - -migration-lib.version=1.0.1 +migration-lib.version=1.0.3 -# checksums for jakartaee-migration-1.0.1-shaded.jar +# checksums for jakartaee-migration-1.0.3-shaded.jar migration-lib.checksum.enabled=true migration-lib.checksum.algorithm=MD5|SHA-1 -migration-lib.checksum.value=c81ed5111319cf59073b9d96d368bc6f|5deeb6d46401642df23cbc48c5766321bc3d7b44 +migration-lib.checksum.value=9b068ac98f98932fabb3dadf2523a27e|17a0d6f6eb19f11ba300b178ef460bcdc5837f61 migration-lib.home=${base.path}/migration-${migration-lib.version} migration-lib.jar=${migration-lib.home}/jakartaee-migration-${migration-lib.version}-shaded.jar diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index a5fc07ce0a..a777d777fb 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -331,6 +331,10 @@ Improvements to Spanish translations. (markt) + +Update the Apache Tomcat migration tool for Jakarta EE library to 1.0.3. +(markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[ANN] Apache Tomcat Migration tool for Jakarta EE 1.0.3
The Apache Tomcat team announces the immediate availability of Apache Tomcat Migration Tool for Jakarta EE 1.0.3 Apache Tomcat Migration Tool for Jakarta EE is an open source software tool for migrating binary web applications (WAR files) and other binary artefacts from Java EE 8 to Jakarta EE 9. The notable changes since 1.0.1 include: - Update checksums for modified files to avoid issues when trying to use migrated JAR files - Handle migration of manifest files when part of an exploded JAR Please refer to the change log for the complete list of changes: https://github.com/apache/tomcat-jakartaee-migration/blob/master/CHANGES.md Downloads: http://tomcat.apache.org/download-migration.cgi Enjoy! - The Apache Tomcat team - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GitHub] [tomcat] malaysf commented on pull request #550: Http11Processor's keep alive state and input buffer's swallow state must be synchronized
malaysf commented on PR #550: URL: https://github.com/apache/tomcat/pull/550#issuecomment-1244022378 @markt-asf Thanks for reviewing and merging. Could this please also be included in 9.0.x? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - 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: Handle servlet responding to a request with an expectation without ack or reading request body. (#550)
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 5c657011c8 Handle servlet responding to a request with an expectation without ack or reading request body. (#550) 5c657011c8 is described below commit 5c657011c81cfeb0bcfd4045ab51fe66aae1bcf7 Author: Malay Shah AuthorDate: Mon Sep 12 08:42:03 2022 -0700 Handle servlet responding to a request with an expectation without ack or reading request body. (#550) * Fixing a bug where a connection would be kept alive without swallowing the input from the request stream. When a request comes in with a 100 Continue expectation, and the server immediately responds with a 200 status without reading the request body at all, the next request on the connection will fail because Tomcat cannot parse the HTTP verb. The new unit test replicates the issue and is addressed by removing the unnecessary changes to the swallowInput field of the Http11InputBuffer. --- java/org/apache/coyote/http11/Http11Processor.java | 2 - .../apache/coyote/http11/TestHttp11Processor.java | 54 ++ webapps/docs/changelog.xml | 5 ++ 3 files changed, 59 insertions(+), 2 deletions(-) diff --git a/java/org/apache/coyote/http11/Http11Processor.java b/java/org/apache/coyote/http11/Http11Processor.java index 1392bf56ff..d7d23fe58a 100644 --- a/java/org/apache/coyote/http11/Http11Processor.java +++ b/java/org/apache/coyote/http11/Http11Processor.java @@ -1042,7 +1042,6 @@ public class Http11Processor extends AbstractProcessor { MessageBytes expectMB = headers.getValue("expect"); if (expectMB != null && !expectMB.isNull()) { if (expectMB.toString().trim().equalsIgnoreCase("100-continue")) { -inputBuffer.setSwallowInput(false); request.setExpectation(true); } else { response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED); @@ -1474,7 +1473,6 @@ public class Http11Processor extends AbstractProcessor { // Send a 100 status back if it makes sense (response not committed // yet, and client specified an expectation for 100-continue) if (!response.isCommitted() && request.hasExpectation()) { -inputBuffer.setSwallowInput(true); try { outputBuffer.sendAck(); } catch (IOException e) { diff --git a/test/org/apache/coyote/http11/TestHttp11Processor.java b/test/org/apache/coyote/http11/TestHttp11Processor.java index ca7db29d54..2628dba2b1 100644 --- a/test/org/apache/coyote/http11/TestHttp11Processor.java +++ b/test/org/apache/coyote/http11/TestHttp11Processor.java @@ -1958,4 +1958,58 @@ public class TestHttp11Processor extends TomcatBaseTest { Assert.assertTrue(client.isResponse200()); Assert.assertTrue(client.getResponseBody().contains("test - data")); } + + +@Test +public void test100ContinueWithNoAck() throws Exception { +Tomcat tomcat = getTomcatInstance(); + +final Connector connector = tomcat.getConnector(); +connector.setProperty("continueResponseTiming", "onRead"); + +// No file system docBase required +Context ctx = tomcat.addContext("", null); + +// Add servlet +Tomcat.addServlet(ctx, "TestPostNoReadServlet", new TestPostNoReadServlet()); +ctx.addServletMappingDecoded("/foo", "TestPostNoReadServlet"); + +tomcat.start(); + +String request = +"POST /foo HTTP/1.1" + SimpleHttpClient.CRLF + +"Host: localhost:" + getPort() + SimpleHttpClient.CRLF + +"Expect: 100-continue" + SimpleHttpClient.CRLF + +"Content-Length: 10" + SimpleHttpClient.CRLF + +SimpleHttpClient.CRLF + +"0123456789"; + +Client client = new Client(tomcat.getConnector().getLocalPort()); +client.setRequest(new String[] {request}); + +client.connect(); +client.processRequest(false); + +Assert.assertTrue(client.isResponse200()); + +if (client.getResponseHeaders().contains("Connection: close")) { +client.connect(); +} + +client.processRequest(false); + +Assert.assertTrue(client.isResponse200()); + +} + + +private static class TestPostNoReadServlet extends HttpServlet { + +private static final long serialVersionUID = 1L; + +@Override +protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + +} +} } diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 04f9d6f844..76766752dc 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -172,6
[tomcat] branch 10.0.x updated: Handle servlet responding to a request with an expectation without ack or reading request body. (#550)
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new 76b8ecff1e Handle servlet responding to a request with an expectation without ack or reading request body. (#550) 76b8ecff1e is described below commit 76b8ecff1ebd6e3f4d407d7b1fb6f7e551c50a06 Author: Malay Shah AuthorDate: Mon Sep 12 08:42:03 2022 -0700 Handle servlet responding to a request with an expectation without ack or reading request body. (#550) * Fixing a bug where a connection would be kept alive without swallowing the input from the request stream. When a request comes in with a 100 Continue expectation, and the server immediately responds with a 200 status without reading the request body at all, the next request on the connection will fail because Tomcat cannot parse the HTTP verb. The new unit test replicates the issue and is addressed by removing the unnecessary changes to the swallowInput field of the Http11InputBuffer. --- java/org/apache/coyote/http11/Http11Processor.java | 2 - .../apache/coyote/http11/TestHttp11Processor.java | 54 ++ webapps/docs/changelog.xml | 5 ++ 3 files changed, 59 insertions(+), 2 deletions(-) diff --git a/java/org/apache/coyote/http11/Http11Processor.java b/java/org/apache/coyote/http11/Http11Processor.java index 8fdbe7a55f..4d61a1554c 100644 --- a/java/org/apache/coyote/http11/Http11Processor.java +++ b/java/org/apache/coyote/http11/Http11Processor.java @@ -802,7 +802,6 @@ public class Http11Processor extends AbstractProcessor { MessageBytes expectMB = headers.getValue("expect"); if (expectMB != null && !expectMB.isNull()) { if (expectMB.toString().trim().equalsIgnoreCase("100-continue")) { -inputBuffer.setSwallowInput(false); request.setExpectation(true); } else { response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED); @@ -1233,7 +1232,6 @@ public class Http11Processor extends AbstractProcessor { // Send a 100 status back if it makes sense (response not committed // yet, and client specified an expectation for 100-continue) if (!response.isCommitted() && request.hasExpectation()) { -inputBuffer.setSwallowInput(true); try { outputBuffer.sendAck(); } catch (IOException e) { diff --git a/test/org/apache/coyote/http11/TestHttp11Processor.java b/test/org/apache/coyote/http11/TestHttp11Processor.java index cad207b7ab..60afa56b2f 100644 --- a/test/org/apache/coyote/http11/TestHttp11Processor.java +++ b/test/org/apache/coyote/http11/TestHttp11Processor.java @@ -1942,4 +1942,58 @@ public class TestHttp11Processor extends TomcatBaseTest { Assert.assertTrue(client.isResponse200()); Assert.assertTrue(client.getResponseBody().contains("test - data")); } + + +@Test +public void test100ContinueWithNoAck() throws Exception { +Tomcat tomcat = getTomcatInstance(); + +final Connector connector = tomcat.getConnector(); +connector.setProperty("continueResponseTiming", "onRead"); + +// No file system docBase required +Context ctx = tomcat.addContext("", null); + +// Add servlet +Tomcat.addServlet(ctx, "TestPostNoReadServlet", new TestPostNoReadServlet()); +ctx.addServletMappingDecoded("/foo", "TestPostNoReadServlet"); + +tomcat.start(); + +String request = +"POST /foo HTTP/1.1" + SimpleHttpClient.CRLF + +"Host: localhost:" + getPort() + SimpleHttpClient.CRLF + +"Expect: 100-continue" + SimpleHttpClient.CRLF + +"Content-Length: 10" + SimpleHttpClient.CRLF + +SimpleHttpClient.CRLF + +"0123456789"; + +Client client = new Client(tomcat.getConnector().getLocalPort()); +client.setRequest(new String[] {request}); + +client.connect(); +client.processRequest(false); + +Assert.assertTrue(client.isResponse200()); + +if (client.getResponseHeaders().contains("Connection: close")) { +client.connect(); +} + +client.processRequest(false); + +Assert.assertTrue(client.isResponse200()); + +} + + +private static class TestPostNoReadServlet extends HttpServlet { + +private static final long serialVersionUID = 1L; + +@Override +protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + +} +} } diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 713dbe3f94..1020995712 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -213,6
[tomcat] branch 9.0.x updated: Handle servlet responding to a request with an expectation without ack or reading request body. (#550)
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 51291448af Handle servlet responding to a request with an expectation without ack or reading request body. (#550) 51291448af is described below commit 51291448af5dbc0c6f717666d1632c71ba11c420 Author: Malay Shah AuthorDate: Mon Sep 12 08:42:03 2022 -0700 Handle servlet responding to a request with an expectation without ack or reading request body. (#550) * Fixing a bug where a connection would be kept alive without swallowing the input from the request stream. When a request comes in with a 100 Continue expectation, and the server immediately responds with a 200 status without reading the request body at all, the next request on the connection will fail because Tomcat cannot parse the HTTP verb. The new unit test replicates the issue and is addressed by removing the unnecessary changes to the swallowInput field of the Http11InputBuffer. --- java/org/apache/coyote/http11/Http11Processor.java | 2 - .../apache/coyote/http11/TestHttp11Processor.java | 54 ++ webapps/docs/changelog.xml | 5 ++ 3 files changed, 59 insertions(+), 2 deletions(-) diff --git a/java/org/apache/coyote/http11/Http11Processor.java b/java/org/apache/coyote/http11/Http11Processor.java index 4e9a8b3998..83eea9df33 100644 --- a/java/org/apache/coyote/http11/Http11Processor.java +++ b/java/org/apache/coyote/http11/Http11Processor.java @@ -802,7 +802,6 @@ public class Http11Processor extends AbstractProcessor { MessageBytes expectMB = headers.getValue("expect"); if (expectMB != null && !expectMB.isNull()) { if (expectMB.toString().trim().equalsIgnoreCase("100-continue")) { -inputBuffer.setSwallowInput(false); request.setExpectation(true); } else { response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED); @@ -1239,7 +1238,6 @@ public class Http11Processor extends AbstractProcessor { // Send a 100 status back if it makes sense (response not committed // yet, and client specified an expectation for 100-continue) if (!response.isCommitted() && request.hasExpectation()) { -inputBuffer.setSwallowInput(true); try { outputBuffer.sendAck(); } catch (IOException e) { diff --git a/test/org/apache/coyote/http11/TestHttp11Processor.java b/test/org/apache/coyote/http11/TestHttp11Processor.java index aaad9816a9..0c7ac848c7 100644 --- a/test/org/apache/coyote/http11/TestHttp11Processor.java +++ b/test/org/apache/coyote/http11/TestHttp11Processor.java @@ -1942,4 +1942,58 @@ public class TestHttp11Processor extends TomcatBaseTest { Assert.assertTrue(client.isResponse200()); Assert.assertTrue(client.getResponseBody().contains("test - data")); } + + +@Test +public void test100ContinueWithNoAck() throws Exception { +Tomcat tomcat = getTomcatInstance(); + +final Connector connector = tomcat.getConnector(); +connector.setProperty("continueResponseTiming", "onRead"); + +// No file system docBase required +Context ctx = tomcat.addContext("", null); + +// Add servlet +Tomcat.addServlet(ctx, "TestPostNoReadServlet", new TestPostNoReadServlet()); +ctx.addServletMappingDecoded("/foo", "TestPostNoReadServlet"); + +tomcat.start(); + +String request = +"POST /foo HTTP/1.1" + SimpleHttpClient.CRLF + +"Host: localhost:" + getPort() + SimpleHttpClient.CRLF + +"Expect: 100-continue" + SimpleHttpClient.CRLF + +"Content-Length: 10" + SimpleHttpClient.CRLF + +SimpleHttpClient.CRLF + +"0123456789"; + +Client client = new Client(tomcat.getConnector().getLocalPort()); +client.setRequest(new String[] {request}); + +client.connect(); +client.processRequest(false); + +Assert.assertTrue(client.isResponse200()); + +if (client.getResponseHeaders().contains("Connection: close")) { +client.connect(); +} + +client.processRequest(false); + +Assert.assertTrue(client.isResponse200()); + +} + + +private static class TestPostNoReadServlet extends HttpServlet { + +private static final long serialVersionUID = 1L; + +@Override +protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + +} +} } diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 8e873472e8..599c6f50a6 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -213,6
[tomcat] branch main updated: Fix IDE warning. Update changelog.
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new b383de7c34 Fix IDE warning. Update changelog. b383de7c34 is described below commit b383de7c344f5d423a8f3576fddc56dd1f1d29e2 Author: Mark Thomas AuthorDate: Mon Sep 12 16:45:18 2022 +0100 Fix IDE warning. Update changelog. --- test/org/apache/coyote/http11/TestHttp11Processor.java | 3 +++ webapps/docs/changelog.xml | 5 + 2 files changed, 8 insertions(+) diff --git a/test/org/apache/coyote/http11/TestHttp11Processor.java b/test/org/apache/coyote/http11/TestHttp11Processor.java index d2c677d566..9fe42438a4 100644 --- a/test/org/apache/coyote/http11/TestHttp11Processor.java +++ b/test/org/apache/coyote/http11/TestHttp11Processor.java @@ -1999,6 +1999,9 @@ public class TestHttp11Processor extends TomcatBaseTest { private static class TestPostNoReadServlet extends HttpServlet { + +private static final long serialVersionUID = 1L; + @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index d47a240ce3..a5fc07ce0a 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -218,6 +218,11 @@ the maximum value to 255. Based on a PR 548 by Stefan Mayr. (lihan) + +550: Correctly handle case where a Servlet responds to a +request with an expectation with a 2xx response without reading the +request body. Pull request provided by Malay Shah. (markt) + 551: Avoid potential IndexOutOfBoundsException by fixing incorrect check when matching HTTP/2 preface. Submitted by 刘文章. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Http11Processor's keep alive state and input buffer's swallow state must be synchronized (#550)
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 7eae54393e Http11Processor's keep alive state and input buffer's swallow state must be synchronized (#550) 7eae54393e is described below commit 7eae54393e6bac1771a719219714c860e216184c Author: Malay Shah AuthorDate: Mon Sep 12 08:42:03 2022 -0700 Http11Processor's keep alive state and input buffer's swallow state must be synchronized (#550) * Fixing a bug where a connection would be kept alive without swallowing the input from the request stream. When a request comes in with a 100 Continue expectation, and the server immediately responds with a 200 status without reading the request body at all, the next request on the connection will fail because Tomcat cannot parse the HTTP verb. The new unit test replicates the issue and is addressed by removing the unnecessary changes to the swallowInput field of the Http11InputBuffer. --- java/org/apache/coyote/http11/Http11Processor.java | 2 - .../apache/coyote/http11/TestHttp11Processor.java | 51 ++ 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/java/org/apache/coyote/http11/Http11Processor.java b/java/org/apache/coyote/http11/Http11Processor.java index 0094ade7aa..fdc4cc395c 100644 --- a/java/org/apache/coyote/http11/Http11Processor.java +++ b/java/org/apache/coyote/http11/Http11Processor.java @@ -803,7 +803,6 @@ public class Http11Processor extends AbstractProcessor { MessageBytes expectMB = headers.getValue("expect"); if (expectMB != null && !expectMB.isNull()) { if (expectMB.toString().trim().equalsIgnoreCase("100-continue")) { -inputBuffer.setSwallowInput(false); request.setExpectation(true); } else { response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED); @@ -1253,7 +1252,6 @@ public class Http11Processor extends AbstractProcessor { // Send a 100 status back if it makes sense (response not committed // yet, and client specified an expectation for 100-continue) if (!response.isCommitted() && request.hasExpectation()) { -inputBuffer.setSwallowInput(true); try { outputBuffer.sendAck(); } catch (IOException e) { diff --git a/test/org/apache/coyote/http11/TestHttp11Processor.java b/test/org/apache/coyote/http11/TestHttp11Processor.java index dbc3ba8d00..d2c677d566 100644 --- a/test/org/apache/coyote/http11/TestHttp11Processor.java +++ b/test/org/apache/coyote/http11/TestHttp11Processor.java @@ -1953,4 +1953,55 @@ public class TestHttp11Processor extends TomcatBaseTest { Assert.assertTrue(client.isResponse200()); Assert.assertTrue(client.getResponseBody().contains("test - data")); } + + +@Test +public void test100ContinueWithNoAck() throws Exception { +Tomcat tomcat = getTomcatInstance(); + +final Connector connector = tomcat.getConnector(); +connector.setProperty("continueResponseTiming", "onRead"); + +// No file system docBase required +Context ctx = tomcat.addContext("", null); + +// Add servlet +Tomcat.addServlet(ctx, "TestPostNoReadServlet", new TestPostNoReadServlet()); +ctx.addServletMappingDecoded("/foo", "TestPostNoReadServlet"); + +tomcat.start(); + +String request = +"POST /foo HTTP/1.1" + SimpleHttpClient.CRLF + +"Host: localhost:" + getPort() + SimpleHttpClient.CRLF + +"Expect: 100-continue" + SimpleHttpClient.CRLF + +"Content-Length: 10" + SimpleHttpClient.CRLF + +SimpleHttpClient.CRLF + +"0123456789"; + +Client client = new Client(tomcat.getConnector().getLocalPort()); +client.setRequest(new String[] {request}); + +client.connect(); +client.processRequest(false); + +Assert.assertTrue(client.isResponse200()); + +if (client.getResponseHeaders().contains("Connection: close")) { +client.connect(); +} + +client.processRequest(false); + +Assert.assertTrue(client.isResponse200()); + +} + + +private static class TestPostNoReadServlet extends HttpServlet { +@Override +protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + +} +} } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GitHub] [tomcat] markt-asf merged pull request #550: Http11Processor's keep alive state and input buffer's swallow state must be synchronized
markt-asf merged PR #550: URL: https://github.com/apache/tomcat/pull/550 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 66255] Error state [CLOSE_NOW] on HTTP/2 connections
https://bz.apache.org/bugzilla/show_bug.cgi?id=66255 Matafagafo changed: What|Removed |Added Status|NEEDINFO|NEW --- Comment #6 from Matafagafo --- Please, let me know, if you needs more informations or some tests to help to narrow this down. -- 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 8.5.x updated: Fix intermittent NIO2 failure on MacOS (M1 hardware)
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 a453f652c6 Fix intermittent NIO2 failure on MacOS (M1 hardware) a453f652c6 is described below commit a453f652c69bc616baafc0115ea054b7127661db Author: Mark Thomas AuthorDate: Mon Sep 12 14:41:48 2022 +0100 Fix intermittent NIO2 failure on MacOS (M1 hardware) --- .../catalina/connector/TestCoyoteAdapterRequestFuzzing.java | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java b/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java index f2edf46855..12febfe978 100644 --- a/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java +++ b/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java @@ -21,6 +21,7 @@ import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; +import java.net.SocketException; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -123,7 +124,12 @@ public class TestCoyoteAdapterRequestFuzzing extends TomcatBaseTest { client.setRequest(new String[] {requestLine + CRLF, headers + CRLF}); client.connect(); -client.processRequest(); +try { +client.processRequest(); +} catch (SocketException e) { +// Likely connection reset. Response line won't be available. +return; +} // Expected response String line = client.getResponseLine(); - 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 intermittent NIO2 failure on MacOS (M1 hardware)
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 c88d27afb2 Fix intermittent NIO2 failure on MacOS (M1 hardware) c88d27afb2 is described below commit c88d27afb205971b0668eea86a16addaf503fc32 Author: Mark Thomas AuthorDate: Mon Sep 12 14:41:48 2022 +0100 Fix intermittent NIO2 failure on MacOS (M1 hardware) --- .../catalina/connector/TestCoyoteAdapterRequestFuzzing.java | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java b/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java index f2edf46855..12febfe978 100644 --- a/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java +++ b/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java @@ -21,6 +21,7 @@ import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; +import java.net.SocketException; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -123,7 +124,12 @@ public class TestCoyoteAdapterRequestFuzzing extends TomcatBaseTest { client.setRequest(new String[] {requestLine + CRLF, headers + CRLF}); client.connect(); -client.processRequest(); +try { +client.processRequest(); +} catch (SocketException e) { +// Likely connection reset. Response line won't be available. +return; +} // Expected response String line = client.getResponseLine(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.0.x updated: Fix intermittent NIO2 failure on MacOS (M1 hardware)
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new ea15659188 Fix intermittent NIO2 failure on MacOS (M1 hardware) ea15659188 is described below commit ea15659188d9ca6030aadabe6dc608c0aba2baec Author: Mark Thomas AuthorDate: Mon Sep 12 14:41:48 2022 +0100 Fix intermittent NIO2 failure on MacOS (M1 hardware) --- .../catalina/connector/TestCoyoteAdapterRequestFuzzing.java | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java b/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java index f2edf46855..12febfe978 100644 --- a/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java +++ b/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java @@ -21,6 +21,7 @@ import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; +import java.net.SocketException; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -123,7 +124,12 @@ public class TestCoyoteAdapterRequestFuzzing extends TomcatBaseTest { client.setRequest(new String[] {requestLine + CRLF, headers + CRLF}); client.connect(); -client.processRequest(); +try { +client.processRequest(); +} catch (SocketException e) { +// Likely connection reset. Response line won't be available. +return; +} // Expected response String line = client.getResponseLine(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Fix intermittent NIO2 failure on MacOS (M1 hardware)
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 6778e00e94 Fix intermittent NIO2 failure on MacOS (M1 hardware) 6778e00e94 is described below commit 6778e00e94155e6e374517ccc05198afe791af5e Author: Mark Thomas AuthorDate: Mon Sep 12 14:41:48 2022 +0100 Fix intermittent NIO2 failure on MacOS (M1 hardware) --- .../catalina/connector/TestCoyoteAdapterRequestFuzzing.java | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java b/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java index f2edf46855..12febfe978 100644 --- a/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java +++ b/test/org/apache/catalina/connector/TestCoyoteAdapterRequestFuzzing.java @@ -21,6 +21,7 @@ import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; +import java.net.SocketException; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -123,7 +124,12 @@ public class TestCoyoteAdapterRequestFuzzing extends TomcatBaseTest { client.setRequest(new String[] {requestLine + CRLF, headers + CRLF}); client.connect(); -client.processRequest(); +try { +client.processRequest(); +} catch (SocketException e) { +// Likely connection reset. Response line won't be available. +return; +} // Expected response String line = client.getResponseLine(); - 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 locking - found by SpotBugs
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 72a46ed4c1 Fix locking - found by SpotBugs 72a46ed4c1 is described below commit 72a46ed4c1471fcdf09d0946af7ffa381f320060 Author: Mark Thomas AuthorDate: Mon Sep 12 10:00:40 2022 +0100 Fix locking - found by SpotBugs --- java/org/apache/catalina/realm/MemoryRealm.java | 23 --- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/java/org/apache/catalina/realm/MemoryRealm.java b/java/org/apache/catalina/realm/MemoryRealm.java index 1e6593f3f4..fa7f9a83d2 100644 --- a/java/org/apache/catalina/realm/MemoryRealm.java +++ b/java/org/apache/catalina/realm/MemoryRealm.java @@ -53,6 +53,7 @@ public class MemoryRealm extends RealmBase { * The Digester we will use to process in-memory database files. */ private static Digester digester = null; +private static final Object digesterLock = new Object(); /** @@ -194,18 +195,18 @@ public class MemoryRealm extends RealmBase { * @return a configured Digester to use for processing * the XML input file, creating a new one if necessary. */ -protected synchronized Digester getDigester() { -if (digester == null) { -digester = new Digester(); -digester.setValidating(false); -try { -digester.setFeature( -"http://apache.org/xml/features/allow-java-encodings;, -true); -} catch (Exception e) { -log.warn(sm.getString("memoryRealm.xmlFeatureEncoding"), e); +protected Digester getDigester() { +synchronized (digesterLock) { +if (digester == null) { +digester = new Digester(); +digester.setValidating(false); +try { + digester.setFeature("http://apache.org/xml/features/allow-java-encodings;, true); +} catch (Exception e) { +log.warn(sm.getString("memoryRealm.xmlFeatureEncoding"), e); +} +digester.addRuleSet(new MemoryRuleSet()); } -digester.addRuleSet(new MemoryRuleSet()); } return digester; } - 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 locking - found by SpotBugs
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 6c8383c568 Fix locking - found by SpotBugs 6c8383c568 is described below commit 6c8383c568fd422cf1bcc9cc53a0d05e56cfb68a Author: Mark Thomas AuthorDate: Mon Sep 12 10:00:40 2022 +0100 Fix locking - found by SpotBugs --- java/org/apache/catalina/realm/MemoryRealm.java | 23 --- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/java/org/apache/catalina/realm/MemoryRealm.java b/java/org/apache/catalina/realm/MemoryRealm.java index 5d47f3bb5f..76095bf07b 100644 --- a/java/org/apache/catalina/realm/MemoryRealm.java +++ b/java/org/apache/catalina/realm/MemoryRealm.java @@ -54,6 +54,7 @@ public class MemoryRealm extends RealmBase { * The Digester we will use to process in-memory database files. */ private static Digester digester = null; +private static final Object digesterLock = new Object(); /** @@ -187,18 +188,18 @@ public class MemoryRealm extends RealmBase { * @return a configured Digester to use for processing * the XML input file, creating a new one if necessary. */ -protected synchronized Digester getDigester() { -if (digester == null) { -digester = new Digester(); -digester.setValidating(false); -try { -digester.setFeature( -"http://apache.org/xml/features/allow-java-encodings;, -true); -} catch (Exception e) { -log.warn(sm.getString("memoryRealm.xmlFeatureEncoding"), e); +protected Digester getDigester() { +synchronized (digesterLock) { +if (digester == null) { +digester = new Digester(); +digester.setValidating(false); +try { + digester.setFeature("http://apache.org/xml/features/allow-java-encodings;, true); +} catch (Exception e) { +log.warn(sm.getString("memoryRealm.xmlFeatureEncoding"), e); +} +digester.addRuleSet(new MemoryRuleSet()); } -digester.addRuleSet(new MemoryRuleSet()); } return digester; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.0.x updated: Fix locking - found by SpotBugs
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new 9247e52999 Fix locking - found by SpotBugs 9247e52999 is described below commit 9247e52999f49a494b984db06dff4636bde6736c Author: Mark Thomas AuthorDate: Mon Sep 12 10:00:40 2022 +0100 Fix locking - found by SpotBugs --- java/org/apache/catalina/realm/MemoryRealm.java | 23 --- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/java/org/apache/catalina/realm/MemoryRealm.java b/java/org/apache/catalina/realm/MemoryRealm.java index 7c1671e621..2584438291 100644 --- a/java/org/apache/catalina/realm/MemoryRealm.java +++ b/java/org/apache/catalina/realm/MemoryRealm.java @@ -54,6 +54,7 @@ public class MemoryRealm extends RealmBase { * The Digester we will use to process in-memory database files. */ private static Digester digester = null; +private static final Object digesterLock = new Object(); /** @@ -197,18 +198,18 @@ public class MemoryRealm extends RealmBase { * @return a configured Digester to use for processing * the XML input file, creating a new one if necessary. */ -protected synchronized Digester getDigester() { -if (digester == null) { -digester = new Digester(); -digester.setValidating(false); -try { -digester.setFeature( -"http://apache.org/xml/features/allow-java-encodings;, -true); -} catch (Exception e) { -log.warn(sm.getString("memoryRealm.xmlFeatureEncoding"), e); +protected Digester getDigester() { +synchronized (digesterLock) { +if (digester == null) { +digester = new Digester(); +digester.setValidating(false); +try { + digester.setFeature("http://apache.org/xml/features/allow-java-encodings;, true); +} catch (Exception e) { +log.warn(sm.getString("memoryRealm.xmlFeatureEncoding"), e); +} +digester.addRuleSet(new MemoryRuleSet()); } -digester.addRuleSet(new MemoryRuleSet()); } return digester; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Fix locking - found by SpotBugs
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 042235e141 Fix locking - found by SpotBugs 042235e141 is described below commit 042235e141a1d285426a4a7ffbc6d3ce0d249a6a Author: Mark Thomas AuthorDate: Mon Sep 12 10:00:40 2022 +0100 Fix locking - found by SpotBugs --- java/org/apache/catalina/realm/MemoryRealm.java | 23 --- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/java/org/apache/catalina/realm/MemoryRealm.java b/java/org/apache/catalina/realm/MemoryRealm.java index 7c1671e621..2584438291 100644 --- a/java/org/apache/catalina/realm/MemoryRealm.java +++ b/java/org/apache/catalina/realm/MemoryRealm.java @@ -54,6 +54,7 @@ public class MemoryRealm extends RealmBase { * The Digester we will use to process in-memory database files. */ private static Digester digester = null; +private static final Object digesterLock = new Object(); /** @@ -197,18 +198,18 @@ public class MemoryRealm extends RealmBase { * @return a configured Digester to use for processing * the XML input file, creating a new one if necessary. */ -protected synchronized Digester getDigester() { -if (digester == null) { -digester = new Digester(); -digester.setValidating(false); -try { -digester.setFeature( -"http://apache.org/xml/features/allow-java-encodings;, -true); -} catch (Exception e) { -log.warn(sm.getString("memoryRealm.xmlFeatureEncoding"), e); +protected Digester getDigester() { +synchronized (digesterLock) { +if (digester == null) { +digester = new Digester(); +digester.setValidating(false); +try { + digester.setFeature("http://apache.org/xml/features/allow-java-encodings;, true); +} catch (Exception e) { +log.warn(sm.getString("memoryRealm.xmlFeatureEncoding"), e); +} +digester.addRuleSet(new MemoryRuleSet()); } -digester.addRuleSet(new MemoryRuleSet()); } return digester; } - 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: Use expected naming convention - found by SpotBugs
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 b429f7fe11 Use expected naming convention - found by SpotBugs b429f7fe11 is described below commit b429f7fe112be2c5d897ba7f930d7ccdc79ba6fb Author: Mark Thomas AuthorDate: Mon Sep 12 09:56:44 2022 +0100 Use expected naming convention - found by SpotBugs --- test/org/apache/tomcat/util/http/parser/TestMediaType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/org/apache/tomcat/util/http/parser/TestMediaType.java b/test/org/apache/tomcat/util/http/parser/TestMediaType.java index 0b84eef2a1..d4440fd31b 100644 --- a/test/org/apache/tomcat/util/http/parser/TestMediaType.java +++ b/test/org/apache/tomcat/util/http/parser/TestMediaType.java @@ -308,7 +308,7 @@ public class TestMediaType { } @Test -public void TestEmptyParameter() throws Exception { +public void testEmptyParameter() throws Exception { // RFC 9110 StringReader sr = new StringReader("type/sub-type;;a=1;;b=2;;"); MediaType m = MediaType.parseMediaType(sr); - 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: Use expected naming convention - found by SpotBugs
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 4f90538a49 Use expected naming convention - found by SpotBugs 4f90538a49 is described below commit 4f90538a4972aa1ab0e264118bb01d40996cd36a Author: Mark Thomas AuthorDate: Mon Sep 12 09:56:44 2022 +0100 Use expected naming convention - found by SpotBugs --- test/org/apache/tomcat/util/http/parser/TestMediaType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/org/apache/tomcat/util/http/parser/TestMediaType.java b/test/org/apache/tomcat/util/http/parser/TestMediaType.java index c17d6cd589..406ec15539 100644 --- a/test/org/apache/tomcat/util/http/parser/TestMediaType.java +++ b/test/org/apache/tomcat/util/http/parser/TestMediaType.java @@ -316,7 +316,7 @@ public class TestMediaType { } @Test -public void TestEmptyParameter() throws Exception { +public void testEmptyParameter() throws Exception { // RFC 9110 StringReader sr = new StringReader("type/sub-type;;a=1;;b=2;;"); MediaType m = MediaType.parseMediaType(sr); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.0.x updated: Use expected naming convention - found by SpotBugs
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.0.x by this push: new 3d8d126d15 Use expected naming convention - found by SpotBugs 3d8d126d15 is described below commit 3d8d126d1565fd2d760014945a4daf187b60e08e Author: Mark Thomas AuthorDate: Mon Sep 12 09:56:44 2022 +0100 Use expected naming convention - found by SpotBugs --- test/org/apache/tomcat/util/http/parser/TestMediaType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/org/apache/tomcat/util/http/parser/TestMediaType.java b/test/org/apache/tomcat/util/http/parser/TestMediaType.java index c17d6cd589..406ec15539 100644 --- a/test/org/apache/tomcat/util/http/parser/TestMediaType.java +++ b/test/org/apache/tomcat/util/http/parser/TestMediaType.java @@ -316,7 +316,7 @@ public class TestMediaType { } @Test -public void TestEmptyParameter() throws Exception { +public void testEmptyParameter() throws Exception { // RFC 9110 StringReader sr = new StringReader("type/sub-type;;a=1;;b=2;;"); MediaType m = MediaType.parseMediaType(sr); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Use expected naming convention - found by SpotBugs
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 34ac80ddcd Use expected naming convention - found by SpotBugs 34ac80ddcd is described below commit 34ac80ddcd10a48cbdc996391bbb9160486bb226 Author: Mark Thomas AuthorDate: Mon Sep 12 09:56:44 2022 +0100 Use expected naming convention - found by SpotBugs --- test/org/apache/tomcat/util/http/parser/TestMediaType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/org/apache/tomcat/util/http/parser/TestMediaType.java b/test/org/apache/tomcat/util/http/parser/TestMediaType.java index c17d6cd589..406ec15539 100644 --- a/test/org/apache/tomcat/util/http/parser/TestMediaType.java +++ b/test/org/apache/tomcat/util/http/parser/TestMediaType.java @@ -316,7 +316,7 @@ public class TestMediaType { } @Test -public void TestEmptyParameter() throws Exception { +public void testEmptyParameter() throws Exception { // RFC 9110 StringReader sr = new StringReader("type/sub-type;;a=1;;b=2;;"); MediaType m = MediaType.parseMediaType(sr); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1904008 - in /tomcat/site/trunk: docs/download-migration.html docs/index.html docs/oldnews.html xdocs/download-migration.xml xdocs/index.xml xdocs/oldnews.xml
Author: markt Date: Mon Sep 12 08:52:52 2022 New Revision: 1904008 URL: http://svn.apache.org/viewvc?rev=1904008=rev Log: Update site for release of Apache Tomcat migration tool for Jakarta EE 1.0.3 Modified: tomcat/site/trunk/docs/download-migration.html tomcat/site/trunk/docs/index.html tomcat/site/trunk/docs/oldnews.html tomcat/site/trunk/xdocs/download-migration.xml tomcat/site/trunk/xdocs/index.xml tomcat/site/trunk/xdocs/oldnews.xml Modified: tomcat/site/trunk/docs/download-migration.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/download-migration.html?rev=1904008=1904007=1904008=diff == --- tomcat/site/trunk/docs/download-migration.html (original) +++ tomcat/site/trunk/docs/download-migration.html Mon Sep 12 08:52:52 2022 @@ -7,7 +7,7 @@ Quick Navigation -[define v]1.0.1[end] +[define v]1.0.3[end] https://downloads.apache.org/tomcat/jakartaee-migration/KEYS;>KEYS | [v] | Browse | Modified: tomcat/site/trunk/docs/index.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/index.html?rev=1904008=1904007=1904008=diff == --- tomcat/site/trunk/docs/index.html (original) +++ tomcat/site/trunk/docs/index.html Mon Sep 12 08:52:52 2022 @@ -34,6 +34,25 @@ wiki page. Apache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcat project logo are trademarks of the Apache Software Foundation. +2022-09-12 Tomcat Migration Tool for Jakarta EE 1.0.3 Released + +The Apache Tomcat Project is proud to announce the release of 1.0.3 of the +Apache Tomcat Migration Tool for Jakarta EE. This release contains a number of +bug fixes and improvements compared to version 1.0.1. +The notable changes in this release are: + +Update checksums for modified files to avoid issues when trying to use +migrated JAR files +Handle migration of manifets files when part of an exploded JAR + + +Full details of these changes, and all the other changes, are available in the +https://github.com/apache/tomcat-jakartaee-migration/blob/main/CHANGES.md;>changelog. + + + +https://tomcat.apache.org/download-migration.cgi;>Download + 2022-08-13 Tomcat 8.5.82 Released The Apache Tomcat Project is proud to announce the release of version 8.5.82. @@ -174,25 +193,6 @@ Tomcat Native. The notable changes since https://tomcat.apache.org/download-native.cgi;>Download | ChangeLog for 1.2.35 -2022-07-11 Tomcat Migration Tool for Jakarta EE 1.0.1 Released - -The Apache Tomcat Project is proud to announce the release of 1.0.1 of the -Apache Tomcat Migration Tool for Jakarta EE. This release contains a number of -bug fixes and improvements compared to version 1.0.0. -The notable changes in this release are: - -Add support for .groovy files -Better support for non-standard archives -Numerous library updates - - -Full details of these changes, and all the other changes, are available in the -https://github.com/apache/tomcat-jakartaee-migration/blob/main/CHANGES.md;>changelog. - - - -https://tomcat.apache.org/download-migration.cgi;>Download - 2020-03-06 Tomcat Connectors 1.2.48 Released The Apache Tomcat Project is proud to announce the release of version 1.2.48 of Modified: tomcat/site/trunk/docs/oldnews.html URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/oldnews.html?rev=1904008=1904007=1904008=diff == --- tomcat/site/trunk/docs/oldnews.html (original) +++ tomcat/site/trunk/docs/oldnews.html Mon Sep 12 08:52:52 2022 @@ -16,6 +16,25 @@ year 2011 year 2010 +2022-07-11 Tomcat Migration Tool for Jakarta EE 1.0.1 Released + +The Apache Tomcat Project is proud to announce the release of 1.0.1 of the +Apache Tomcat Migration Tool for Jakarta EE. This release contains a number of +bug fixes and improvements compared to version 1.0.0. +The notable changes in this release are: + +Add support for .groovy files +Better support for non-standard archives +Numerous library updates + + +Full details of these changes, and all the other changes, are available in the +https://github.com/apache/tomcat-jakartaee-migration/blob/main/CHANGES.md;>changelog. + + + +https://tomcat.apache.org/download-migration.cgi;>Download + 2022-06-11 Tomcat 8.5.81 Released The Apache Tomcat Project is proud to announce the release of version 8.5.81. Modified: tomcat/site/trunk/xdocs/download-migration.xml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/download-migration.xml?rev=1904008=1904007=1904008=diff == --- tomcat/site/trunk/xdocs/download-migration.xml (original) +++ tomcat/site/trunk/xdocs/download-migration.xml Mon Sep 12 08:52:52 2022 @@ -19,7 +19,7 @@ Define variable to hold the current version number. Documentation for ezt.py:
svn commit: r56784 - /dev/tomcat/jakartaee-migration/v1.0.3/ /release/tomcat/jakartaee-migration/v1.0.3/
Author: markt Date: Mon Sep 12 08:34:48 2022 New Revision: 56784 Log: Release the Apache Tomcat migration tool for Jakarta EE v1.0.3 Added: release/tomcat/jakartaee-migration/v1.0.3/ - copied from r56783, dev/tomcat/jakartaee-migration/v1.0.3/ Removed: dev/tomcat/jakartaee-migration/v1.0.3/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[VOTE][RESULT] Apache Tomcat migration tool for Jakarta EE 1.0.3
The following votes were cast: Binding: +1: markt, remm, fschumacher Non-binding: +1: lihan The vote therefore passes. Thanks to everyone who contributed to this release. Mark On 06/09/2022 15:30, Mark Thomas wrote: The proposed Apache Tomcat migration tool for Jakarta EE 1.0.3 is now available for voting. The significant changes since 1.0.1 are: - Issue #26 - bad CRC checksums - Issue #32 - Manifests in exploded JARs It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/jakartaee-migration/v1.0.3/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1387/ The tag is: https://github.com/apache/tomcat-jakartaee-migration/tree/1.0.3 a5e9028e610b7b2ac1ef6fbef8a96dc3d97d7a45 The proposed 1.0.3 release is: [ ] -1: Broken. Do not release because... [ ] +1: Acceptable. Go ahead and release. Thanks, Mark - 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
[GitHub] [tomcat] kkolinko commented on pull request #552: UTF-8 makes Non-English Windows Console garbled
kkolinko commented on PR #552: URL: https://github.com/apache/tomcat/pull/552#issuecomment-1243385264 -1 In the majority of use cases the console output (the stdout & stderr streams) are redirected, to a file or to a process (such as being displayed in an IDE). This includes the case when Tomcat is installed as a service on Windows. Use of UTF-8 encoding prevents loss of data. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [Bug 66259] New: is this okay
Am 12.09.22 um 09:00 schrieb bugzi...@apache.org: https://bz.apache.org/bugzilla/show_bug.cgi?id=66259 Bug ID: 66259 Summary: is this okay Product: Taglibs Version: unspecified Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Standard Taglib Assignee:dev@tomcat.apache.org --- account disabled and entry removed. Felix OpenPGP_0xEA6C3728EA91C4AF.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature
[Bug 66259] New: is this okay
https://bz.apache.org/bugzilla/show_bug.cgi?id=66259 Bug ID: 66259 Summary: is this okay Product: Taglibs Version: unspecified Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Standard Taglib Assignee: dev@tomcat.apache.org Reporter: z...@thepinnaclerealestate.com Target Milestone: --- Emerging Property In Islamabad How to keep your Home Cool in summers? Which banks are providing loans for real estate in Pakistan Tourism and hotel industry in Pakistan Is an Apartment a good investment opportunity How to increase your property value Business opportunities in real estate Commercial real estate sector in Pakistan Can a foreigner buy a house in Pakistan How you can invest in Real Estate with little money Benefits of Real Estate in Pakistan Importance of Real Estate Sector In Pakistan -- 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