Re: [VOTE] Release Apache Tomcat 10.1.23

2024-04-23 Thread Mark Thomas

On 23/04/2024 06:35, jean-frederic clere wrote:

On 4/17/24 12:00, Mark Thomas wrote:

Build is reproducible.


My tests here complain about examples, did I miss something.


No idea. You'd need to do a diff to see what didn't match and that will 
(hopefully) point you towards the root cause.


Mark



TCK tests are still running...




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



[Bug 68911] Newly introduced ConfigurationSource doesn't respect environment variables

2024-04-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=68911

7elem...@mail.bg changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|INVALID |---

--- Comment #10 from 7elem...@mail.bg ---
I'm sorry, but I don't find it exotic to request CATALINA_BASE to be respected
when tomcat initially boots up and not only user.dir to be used to search for
server.xml
As I said already, all I want is backward compatibility as this was the case
until 8.5
On top I don't want to change the logic and break currently released tomcat
versions
All I want is to add a backward compatible way to search for the configuration,
i.e. to search for additional place (CATALINA_BASE) for server.xml as a last
resort, before failing and continue with the defaults.
I couldn't find a way to change with configuration
org.apache.catalina.startup.CatalinaBaseConfigurationSource to my own
ConfigurationSource and that is the reason for this request.

Best Regards

-- 
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 68911] Newly introduced ConfigurationSource doesn't respect environment variables

2024-04-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=68911

Remy Maucherat  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |INVALID

--- Comment #11 from Remy Maucherat  ---
Please do not reopen the BZ. Please use the user mailing list to discuss this
further instead. If a problem is found, then it will be addressed just the
same.

The shell scripts will pass the CATALINA_BASE environment variable as the
catalina.base Java system property, which will then be used to setup the paths
that are used by CatalinaBaseConfigurationSource. I fail to see a behavior
change there.

Note: 8.5 to 9.0 is a major version update, so some change of behavior is
acceptable, and some configuration updates could be required.

[remm@feather build]$ export CATALINA_BASE=/tmp
[remm@feather build]$ ./bin/catalina.sh run
Using CATALINA_BASE:   /tmp
Using CATALINA_HOME:   /home/remm/Work/tomcat/apache-tomcat-trunk/output/build
Using CATALINA_TMPDIR: /tmp/temp
Using JRE_HOME:/usr/lib/jvm/java-22
Using CLASSPATH:  
/home/remm/Work/tomcat/apache-tomcat-trunk/output/build/bin/bootstrap.jar:/home/remm/Work/tomcat/apache-tomcat-trunk/output/build/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
WARNING: java.io.tmpdir directory does not exist
Apr 23, 2024 10:18:24 AM org.apache.catalina.startup.Catalina parseServerXml
WARNING: Unable to load server configuration from [/tmp/conf/server.xml]
java.io.FileNotFoundException: /tmp/conf/server.xml (No such file or directory)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:213)
at java.base/java.io.FileInputStream.(FileInputStream.java:152)
at java.base/java.io.FileInputStream.(FileInputStream.java:106)
at
java.base/sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:84)
at
java.base/sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:186)
at
org.apache.catalina.startup.CatalinaBaseConfigurationSource.getResource(CatalinaBaseConfigurationSource.java:120)
at
org.apache.tomcat.util.file.ConfigurationSource.getConfResource(ConfigurationSource.java:150)
at
org.apache.tomcat.util.file.ConfigurationSource.getServerXml(ConfigurationSource.java:127)
at
org.apache.catalina.startup.CatalinaBaseConfigurationSource.getServerXml(CatalinaBaseConfigurationSource.java:54)
at
org.apache.catalina.startup.Catalina.parseServerXml(Catalina.java:590)
at org.apache.catalina.startup.Catalina.load(Catalina.java:691)
at org.apache.catalina.startup.Catalina.load(Catalina.java:729)
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:299)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:469)

-- 
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 68911] Newly introduced ConfigurationSource doesn't respect environment variables

2024-04-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=68911

--- Comment #12 from 7elem...@mail.bg ---
Created attachment 39682
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=39682&action=edit
Patch

Propose a patch with the requested change

-- 
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 68938] New: ScriptEngine engine is null

2024-04-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=68938

Bug ID: 68938
   Summary: ScriptEngine engine is null
   Product: Tomcat 9
   Version: 9.0.87
  Hardware: PC
OS: Mac OS X 10.1
Status: NEW
  Severity: normal
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: kaixinwangzi1...@163.com
  Target Milestone: -


org.opoo.maven
tomcat9-maven-plugin
3.0.1

/
8080
UTF-8


I use this plugin. 

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
engine is null

-- 
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 68938] ScriptEngine engine is null

2024-04-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=68938

--- Comment #1 from Michael Osipov  ---
??? So what? What is the report here?

-- 
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 68911] Newly introduced ConfigurationSource doesn't respect environment variables

2024-04-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=68911

--- Comment #13 from Remy Maucherat  ---
(In reply to 7element from comment #12)
> Created attachment 39682 [details]
> Patch
> 
> Propose a patch with the requested change

The patch does not seem to do anything, since
ConfigurationSource.super.getServerXml() default implementation also calls
getResource (the idea is to allow overriding).

-- 
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 main updated: isReady() should always return true in blocking mode

2024-04-23 Thread markt
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 74906a5d9e isReady() should always return true in blocking mode
74906a5d9e is described below

commit 74906a5d9e2e67c119630ac31bb7f2f2625e91b5
Author: Mark Thomas 
AuthorDate: Tue Apr 23 13:12:04 2024 +0100

isReady() should always return true in blocking mode
---
 java/org/apache/catalina/connector/InputBuffer.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/java/org/apache/catalina/connector/InputBuffer.java 
b/java/org/apache/catalina/connector/InputBuffer.java
index db85a3415a..5dcae69de1 100644
--- a/java/org/apache/catalina/connector/InputBuffer.java
+++ b/java/org/apache/catalina/connector/InputBuffer.java
@@ -243,7 +243,7 @@ public class InputBuffer extends Reader implements 
ByteChunk.ByteInputChannel, A
 if (log.isDebugEnabled()) {
 log.debug(sm.getString("inputBuffer.requiresNonBlocking"));
 }
-return false;
+return true;
 }
 if (isFinished()) {
 // If this is a non-container thread, need to trigger a read


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



Re: [VOTE] Release Apache Tomcat 10.1.23

2024-04-23 Thread jean-frederic clere

On 4/16/24 15:11, Christopher Schultz wrote:

[X] Stable - go ahead and release as 10.1.23


Tested on fedora39 with tc-native 2.0.7 looks OK, TCK passes.

--
Cheers

Jean-Frederic


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



Re: [VOTE] Release Apache Tomcat 10.1.23

2024-04-23 Thread jean-frederic clere

On 4/23/24 09:47, Mark Thomas wrote:

On 23/04/2024 06:35, jean-frederic clere wrote:

On 4/17/24 12:00, Mark Thomas wrote:

Build is reproducible.


My tests here complain about examples, did I miss something.


No idea. You'd need to do a diff to see what didn't match and that will 
(hopefully) point you towards the root cause.


The class files are different... Investigating.



Mark



TCK tests are still running...




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



--
Cheers

Jean-Frederic


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



(tomcat) branch main updated: Add missing strings

2024-04-23 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm 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 0544ed3053 Add missing strings
0544ed3053 is described below

commit 0544ed30539d1457dd1687e1707e30e92fc8ed14
Author: remm 
AuthorDate: Tue Apr 23 14:28:54 2024 +0200

Add missing strings
---
 java/org/apache/coyote/http11/Http11Processor.java| 9 +++--
 java/org/apache/coyote/http11/LocalStrings.properties | 3 +++
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/java/org/apache/coyote/http11/Http11Processor.java 
b/java/org/apache/coyote/http11/Http11Processor.java
index 9f144bb464..3a1897a84b 100644
--- a/java/org/apache/coyote/http11/Http11Processor.java
+++ b/java/org/apache/coyote/http11/Http11Processor.java
@@ -210,8 +210,7 @@ public class Http11Processor extends AbstractProcessor {
 response.setStatus(400);
 setErrorState(ErrorState.CLOSE_CLEAN, null);
 if (log.isDebugEnabled()) {
-log.debug(sm.getString("http11processor.request.prepare") +
-" Transfer encoding lists chunked before [" + 
encodingName + "]");
+
log.debug(sm.getString("http11processor.request.alreadyChunked", encodingName));
 }
 return;
 }
@@ -232,8 +231,7 @@ public class Http11Processor extends AbstractProcessor {
 response.setStatus(501);
 setErrorState(ErrorState.CLOSE_CLEAN, null);
 if (log.isDebugEnabled()) {
-log.debug(sm.getString("http11processor.request.prepare") + " 
Unsupported transfer encoding [" +
-encodingName + "]");
+
log.debug(sm.getString("http11processor.request.unsupportedEncoding", 
encodingName));
 }
 }
 }
@@ -611,8 +609,7 @@ public class Http11Processor extends AbstractProcessor {
 response.setStatus(505);
 setErrorState(ErrorState.CLOSE_CLEAN, null);
 if (log.isDebugEnabled()) {
-log.debug(sm.getString("http11processor.request.prepare") + " 
Unsupported HTTP version \"" +
-protocolMB + "\"");
+
log.debug(sm.getString("http11processor.request.unsupportedVersion", 
protocolMB));
 }
 }
 }
diff --git a/java/org/apache/coyote/http11/LocalStrings.properties 
b/java/org/apache/coyote/http11/LocalStrings.properties
index 9e4d2ec86a..e42b425350 100644
--- a/java/org/apache/coyote/http11/LocalStrings.properties
+++ b/java/org/apache/coyote/http11/LocalStrings.properties
@@ -22,6 +22,7 @@ abstractHttp11Protocol.upgradeJmxRegistrationFail=Failed to 
register upgrade pro
 http11processor.fallToDebug=\n\
 \ Note: further occurrences of HTTP request parsing errors will be logged at 
DEBUG level.
 http11processor.header.parse=Error parsing HTTP request header
+http11processor.request.alreadyChunked=Error preparing request, transfer 
encoding lists chunked before [{0}]
 http11processor.request.finish=Error finishing request
 http11processor.request.inconsistentHosts=The host specified in the request 
line is not consistent with the host header
 http11processor.request.invalidScheme=The HTTP request contained an absolute 
URI with an invalid scheme
@@ -34,6 +35,8 @@ http11processor.request.noHostHeader=The HTTP/1.1 request did 
not provide a host
 http11processor.request.nonNumericContentLength=The request contained a 
content-length header with a non-numeric value
 http11processor.request.prepare=Error preparing request
 http11processor.request.process=Error processing request
+http11processor.request.unsupportedEncoding=Error preparing request, 
unsupported transfer encoding [{0}]
+http11processor.request.unsupportedVersion=Error preparing request, 
unsupported HTTP version [{0}]
 http11processor.response.finish=Error finishing response
 http11processor.response.invalidHeader=The HTTP response header [{0}] with 
value [{1}] has been removed from the response because it is invalid
 http11processor.sendfile.error=Error sending data using sendfile. May be 
caused by invalid request attributes for start/end points


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



[Bug 68919] Make Tomcat return 503 on stopped web applications

2024-04-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=68919

--- Comment #3 from Christopher Schultz  ---
(In reply to Michael Osipov from comment #2)
> I am not convinced by either approach because in any case it would require me
> to deploy a ROOT application with Tomcat privileges to properly fetch the
> URL and check whether the application is truly stopped.

I don't think so. If Tomcat cannot route a request to a non-ROOT application,
the ROOT application will receive the request instead.

So, for example, if you expect a resource to be available at /myapp/resource
but the /myapp application is not running for whatever reason, then
/myapp/resource will be served by the ROOT application. There is no reason for
the ROOT application to then turn-around and re-request /myapp/resource from
Tomcat "to see if it's working". You already know its NOT working since it was
routed to ROOT.

> > Tomcat rewrite Valve
> This is static, I should dynamically be able to determine that the requested
> webapp is down

See above. I think Tomcat provides that without you having to probe anything.

> > plain JSP +  configuration in web.xml
> How? The status is issued by the container, how am I supposed to change the
> status code reasonably from a JSP. Looks wrong to me.

If /myapp/resource is not available, it will be served by ROOT. Here is where
you get to pick the HTTP status code. Tomcat will not say "oh and by the way,
/myapp/resource was supposed to be served by /myapp but I had to give it to
you, instead so something is definitely wrong". Instead, the simple fact that
ROOT is handling the request means that /myapp is not running so ROOT "knows"
something is wrong already. Just return a 503 or 404 or 123 from whatever
mechanism you want.

> > Custom Java code that you write
> Too sophisticated honestly.
> 
> I think that it is best configured at  or  level inside of
> Tomcat.

I'm suggesting this is already possible: just configure a ROOT context inside a
 and you are done.

-- 
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 10.1.x updated: Add missing strings

2024-04-23 Thread remm
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/10.1.x by this push:
 new 452cb0a7c7 Add missing strings
452cb0a7c7 is described below

commit 452cb0a7c788f25b039376d3c6c7330ba6e4e484
Author: remm 
AuthorDate: Tue Apr 23 14:28:54 2024 +0200

Add missing strings
---
 java/org/apache/coyote/http11/Http11Processor.java| 9 +++--
 java/org/apache/coyote/http11/LocalStrings.properties | 3 +++
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/java/org/apache/coyote/http11/Http11Processor.java 
b/java/org/apache/coyote/http11/Http11Processor.java
index 87aa0da734..0692b8da4e 100644
--- a/java/org/apache/coyote/http11/Http11Processor.java
+++ b/java/org/apache/coyote/http11/Http11Processor.java
@@ -212,8 +212,7 @@ public class Http11Processor extends AbstractProcessor {
 response.setStatus(400);
 setErrorState(ErrorState.CLOSE_CLEAN, null);
 if (log.isDebugEnabled()) {
-log.debug(sm.getString("http11processor.request.prepare") +
-" Transfer encoding lists chunked before [" + 
encodingName + "]");
+
log.debug(sm.getString("http11processor.request.alreadyChunked", encodingName));
 }
 return;
 }
@@ -234,8 +233,7 @@ public class Http11Processor extends AbstractProcessor {
 response.setStatus(501);
 setErrorState(ErrorState.CLOSE_CLEAN, null);
 if (log.isDebugEnabled()) {
-log.debug(sm.getString("http11processor.request.prepare") + " 
Unsupported transfer encoding [" +
-encodingName + "]");
+
log.debug(sm.getString("http11processor.request.unsupportedEncoding", 
encodingName));
 }
 }
 }
@@ -613,8 +611,7 @@ public class Http11Processor extends AbstractProcessor {
 response.setStatus(505);
 setErrorState(ErrorState.CLOSE_CLEAN, null);
 if (log.isDebugEnabled()) {
-log.debug(sm.getString("http11processor.request.prepare") + " 
Unsupported HTTP version \"" +
-protocolMB + "\"");
+
log.debug(sm.getString("http11processor.request.unsupportedVersion", 
protocolMB));
 }
 }
 }
diff --git a/java/org/apache/coyote/http11/LocalStrings.properties 
b/java/org/apache/coyote/http11/LocalStrings.properties
index 9e4d2ec86a..e42b425350 100644
--- a/java/org/apache/coyote/http11/LocalStrings.properties
+++ b/java/org/apache/coyote/http11/LocalStrings.properties
@@ -22,6 +22,7 @@ abstractHttp11Protocol.upgradeJmxRegistrationFail=Failed to 
register upgrade pro
 http11processor.fallToDebug=\n\
 \ Note: further occurrences of HTTP request parsing errors will be logged at 
DEBUG level.
 http11processor.header.parse=Error parsing HTTP request header
+http11processor.request.alreadyChunked=Error preparing request, transfer 
encoding lists chunked before [{0}]
 http11processor.request.finish=Error finishing request
 http11processor.request.inconsistentHosts=The host specified in the request 
line is not consistent with the host header
 http11processor.request.invalidScheme=The HTTP request contained an absolute 
URI with an invalid scheme
@@ -34,6 +35,8 @@ http11processor.request.noHostHeader=The HTTP/1.1 request did 
not provide a host
 http11processor.request.nonNumericContentLength=The request contained a 
content-length header with a non-numeric value
 http11processor.request.prepare=Error preparing request
 http11processor.request.process=Error processing request
+http11processor.request.unsupportedEncoding=Error preparing request, 
unsupported transfer encoding [{0}]
+http11processor.request.unsupportedVersion=Error preparing request, 
unsupported HTTP version [{0}]
 http11processor.response.finish=Error finishing response
 http11processor.response.invalidHeader=The HTTP response header [{0}] with 
value [{1}] has been removed from the response because it is invalid
 http11processor.sendfile.error=Error sending data using sendfile. May be 
caused by invalid request attributes for start/end points


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



[Bug 68932] Occasional 404 or 500 errors

2024-04-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=68932

--- Comment #5 from Christopher Schultz  ---
Surely, Michael meant to suggest upgrading to the latest 9.0.88 that was just
released.

-- 
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 9.0.x updated: Add missing strings

2024-04-23 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm 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 b60ab855f7 Add missing strings
b60ab855f7 is described below

commit b60ab855f7d05074339fc3aac1af03d327a72b22
Author: remm 
AuthorDate: Tue Apr 23 14:28:54 2024 +0200

Add missing strings
---
 java/org/apache/coyote/http11/Http11Processor.java| 9 +++--
 java/org/apache/coyote/http11/LocalStrings.properties | 3 +++
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/java/org/apache/coyote/http11/Http11Processor.java 
b/java/org/apache/coyote/http11/Http11Processor.java
index ebbacb7f29..7c5ca6176e 100644
--- a/java/org/apache/coyote/http11/Http11Processor.java
+++ b/java/org/apache/coyote/http11/Http11Processor.java
@@ -211,8 +211,7 @@ public class Http11Processor extends AbstractProcessor {
 response.setStatus(400);
 setErrorState(ErrorState.CLOSE_CLEAN, null);
 if (log.isDebugEnabled()) {
-log.debug(sm.getString("http11processor.request.prepare") +
-" Transfer encoding lists chunked before [" + 
encodingName + "]");
+
log.debug(sm.getString("http11processor.request.alreadyChunked", encodingName));
 }
 return;
 }
@@ -233,8 +232,7 @@ public class Http11Processor extends AbstractProcessor {
 response.setStatus(501);
 setErrorState(ErrorState.CLOSE_CLEAN, null);
 if (log.isDebugEnabled()) {
-log.debug(sm.getString("http11processor.request.prepare") + " 
Unsupported transfer encoding [" +
-encodingName + "]");
+
log.debug(sm.getString("http11processor.request.unsupportedEncoding", 
encodingName));
 }
 }
 }
@@ -612,8 +610,7 @@ public class Http11Processor extends AbstractProcessor {
 response.setStatus(505);
 setErrorState(ErrorState.CLOSE_CLEAN, null);
 if (log.isDebugEnabled()) {
-log.debug(sm.getString("http11processor.request.prepare") + " 
Unsupported HTTP version \"" +
-protocolMB + "\"");
+
log.debug(sm.getString("http11processor.request.unsupportedVersion", 
protocolMB));
 }
 }
 }
diff --git a/java/org/apache/coyote/http11/LocalStrings.properties 
b/java/org/apache/coyote/http11/LocalStrings.properties
index 9e4d2ec86a..e42b425350 100644
--- a/java/org/apache/coyote/http11/LocalStrings.properties
+++ b/java/org/apache/coyote/http11/LocalStrings.properties
@@ -22,6 +22,7 @@ abstractHttp11Protocol.upgradeJmxRegistrationFail=Failed to 
register upgrade pro
 http11processor.fallToDebug=\n\
 \ Note: further occurrences of HTTP request parsing errors will be logged at 
DEBUG level.
 http11processor.header.parse=Error parsing HTTP request header
+http11processor.request.alreadyChunked=Error preparing request, transfer 
encoding lists chunked before [{0}]
 http11processor.request.finish=Error finishing request
 http11processor.request.inconsistentHosts=The host specified in the request 
line is not consistent with the host header
 http11processor.request.invalidScheme=The HTTP request contained an absolute 
URI with an invalid scheme
@@ -34,6 +35,8 @@ http11processor.request.noHostHeader=The HTTP/1.1 request did 
not provide a host
 http11processor.request.nonNumericContentLength=The request contained a 
content-length header with a non-numeric value
 http11processor.request.prepare=Error preparing request
 http11processor.request.process=Error processing request
+http11processor.request.unsupportedEncoding=Error preparing request, 
unsupported transfer encoding [{0}]
+http11processor.request.unsupportedVersion=Error preparing request, 
unsupported HTTP version [{0}]
 http11processor.response.finish=Error finishing response
 http11processor.response.invalidHeader=The HTTP response header [{0}] with 
value [{1}] has been removed from the response because it is invalid
 http11processor.sendfile.error=Error sending data using sendfile. May be 
caused by invalid request attributes for start/end points


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



Re: [VOTE] Release Apache Tomcat 10.1.23

2024-04-23 Thread Christopher Schultz

Jean-Frederic,

On 4/23/24 08:27, jean-frederic clere wrote:

On 4/23/24 09:47, Mark Thomas wrote:

On 23/04/2024 06:35, jean-frederic clere wrote:

On 4/17/24 12:00, Mark Thomas wrote:

Build is reproducible.


My tests here complain about examples, did I miss something.


No idea. You'd need to do a diff to see what didn't match and that 
will (hopefully) point you towards the root cause.


The class files are different... Investigating.


Try using "ant verify-release". It will give you suggestions for 
investigating anything that doesn't match.


-chris

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



(tomcat) branch 10.1.x updated: Ensure onAllDataRead() fires with chunked request body

2024-04-23 Thread markt
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/10.1.x by this push:
 new 52f007711c Ensure onAllDataRead() fires with chunked request body
52f007711c is described below

commit 52f007711c73c4733c9acf4c53d988f193853306
Author: Mark Thomas 
AuthorDate: Tue Apr 23 13:48:49 2024 +0100

Ensure onAllDataRead() fires with chunked request body
---
 .../coyote/http11/filters/ChunkedInputFilter.java  | 15 
 .../catalina/nonblocking/TestNonBlockingAPI.java   | 45 ++
 webapps/docs/changelog.xml |  5 +++
 3 files changed, 65 insertions(+)

diff --git a/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java 
b/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java
index 13dcb7d53f..c0b74a185f 100644
--- a/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java
+++ b/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java
@@ -24,6 +24,7 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.coyote.ActionCode;
 import org.apache.coyote.BadRequestException;
 import org.apache.coyote.InputBuffer;
 import org.apache.coyote.Request;
@@ -167,6 +168,20 @@ public class ChunkedInputFilter implements InputFilter, 
ApplicationBufferHandler
 }
 if (endChunk) {
 parseEndChunk();
+if (!request.isRequestThread()) {
+/*
+ * Perform the dispatch back to the container for the 
onAllDataRead() event. For non-chunked input
+ * this would be performed when isReady() is next called.
+ *
+ * Chunked input returns one chunk at a time for 
non-blocking reads. A consequence of this is that
+ * reading the final chunk returns -1 which signals the 
end of stream. The application code reading
+ * the request body probably won't call isReady() after 
receiving the -1 return value since it
+ * already knows it is at end of stream. Therefore we 
trigger the dispatch back to the container
+ * here which in turn ensures the onAllDataRead() event is 
fired.
+ */
+request.action(ActionCode.DISPATCH_READ, null);
+request.action(ActionCode.DISPATCH_EXECUTE, null);
+}
 return -1;
 }
 }
diff --git a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java 
b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
index c86a500239..eca6090712 100644
--- a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
+++ b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
@@ -154,6 +154,51 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
 }
 
 
+@Test
+public void testNonBlockingReadChunked() throws Exception {
+Tomcat tomcat = getTomcatInstance();
+
+// No file system docBase required
+Context ctx = getProgrammaticRootContext();
+
+NBReadServlet servlet = new NBReadServlet(false, true);
+String servletName = NBReadServlet.class.getName();
+Tomcat.addServlet(ctx, servletName, servlet);
+ctx.addServletMappingDecoded("/", servletName);
+
+tomcat.start();
+
+Client client = new Client();
+client.setPort(getPort());
+client.setRequest(new String[] { "GET / HTTP/1.1" + 
SimpleHttpClient.CRLF +
+ "Host: localhost:" + getPort() + 
SimpleHttpClient.CRLF +
+ "Transfer-Encoding: chunked" + 
SimpleHttpClient.CRLF +
+ SimpleHttpClient.CRLF +
+ "14" + SimpleHttpClient.CRLF +
+ "01234567890123456789" + 
SimpleHttpClient.CRLF +
+ "14" + SimpleHttpClient.CRLF +
+ "012345678901FINISHED" + 
SimpleHttpClient.CRLF +
+ "0" + SimpleHttpClient.CRLF +
+ SimpleHttpClient.CRLF});
+client.connect();
+client.sendRequest();
+
+client.setUseContentLength(true);
+client.readResponse(true);
+
+Assert.assertTrue(client.isResponse200());
+Assert.assertTrue(client.isResponseBodyOK());
+}
+
+
+private static class Client extends SimpleHttpClient {
+@Override
+public boolean isResponseBodyOK() {
+return "OK".equals(getResponseBody());
+}
+}
+
+
 @Test
 public void testNonBlockingWrite() throws Exception {
 testNonBlockingWriteInternal(false);
diff --git a/webapps/docs/chang

Re: [VOTE] Release Apache Tomcat 10.1.23

2024-04-23 Thread Christopher Schultz

Jean-Frederic,

On 4/23/24 08:27, jean-frederic clere wrote:

On 4/23/24 09:47, Mark Thomas wrote:

On 23/04/2024 06:35, jean-frederic clere wrote:

On 4/17/24 12:00, Mark Thomas wrote:

Build is reproducible.


My tests here complain about examples, did I miss something.


No idea. You'd need to do a diff to see what didn't match and that 
will (hopefully) point you towards the root cause.


The class files are different... Investigating.


I'm holding the VOTE-RESULT email just in case you find something truly 
weird.


-chris

-
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: Ensure onAllDataRead() fires with chunked request body

2024-04-23 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 9dede35c55 Ensure onAllDataRead() fires with chunked request body
9dede35c55 is described below

commit 9dede35c55f41590368eba01e24b1ca80a4c392d
Author: Mark Thomas 
AuthorDate: Tue Apr 23 13:48:49 2024 +0100

Ensure onAllDataRead() fires with chunked request body
---
 .../coyote/http11/filters/ChunkedInputFilter.java  | 15 
 .../catalina/nonblocking/TestNonBlockingAPI.java   | 45 ++
 webapps/docs/changelog.xml |  5 +++
 3 files changed, 65 insertions(+)

diff --git a/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java 
b/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java
index 13dcb7d53f..c0b74a185f 100644
--- a/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java
+++ b/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java
@@ -24,6 +24,7 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.coyote.ActionCode;
 import org.apache.coyote.BadRequestException;
 import org.apache.coyote.InputBuffer;
 import org.apache.coyote.Request;
@@ -167,6 +168,20 @@ public class ChunkedInputFilter implements InputFilter, 
ApplicationBufferHandler
 }
 if (endChunk) {
 parseEndChunk();
+if (!request.isRequestThread()) {
+/*
+ * Perform the dispatch back to the container for the 
onAllDataRead() event. For non-chunked input
+ * this would be performed when isReady() is next called.
+ *
+ * Chunked input returns one chunk at a time for 
non-blocking reads. A consequence of this is that
+ * reading the final chunk returns -1 which signals the 
end of stream. The application code reading
+ * the request body probably won't call isReady() after 
receiving the -1 return value since it
+ * already knows it is at end of stream. Therefore we 
trigger the dispatch back to the container
+ * here which in turn ensures the onAllDataRead() event is 
fired.
+ */
+request.action(ActionCode.DISPATCH_READ, null);
+request.action(ActionCode.DISPATCH_EXECUTE, null);
+}
 return -1;
 }
 }
diff --git a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java 
b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
index acdad397ca..1df7859c2d 100644
--- a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
+++ b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
@@ -153,6 +153,51 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
 }
 
 
+@Test
+public void testNonBlockingReadChunked() throws Exception {
+Tomcat tomcat = getTomcatInstance();
+
+// No file system docBase required
+Context ctx = getProgrammaticRootContext();
+
+NBReadServlet servlet = new NBReadServlet(false, true);
+String servletName = NBReadServlet.class.getName();
+Tomcat.addServlet(ctx, servletName, servlet);
+ctx.addServletMappingDecoded("/", servletName);
+
+tomcat.start();
+
+Client client = new Client();
+client.setPort(getPort());
+client.setRequest(new String[] { "GET / HTTP/1.1" + 
SimpleHttpClient.CRLF +
+ "Host: localhost:" + getPort() + 
SimpleHttpClient.CRLF +
+ "Transfer-Encoding: chunked" + 
SimpleHttpClient.CRLF +
+ SimpleHttpClient.CRLF +
+ "14" + SimpleHttpClient.CRLF +
+ "01234567890123456789" + 
SimpleHttpClient.CRLF +
+ "14" + SimpleHttpClient.CRLF +
+ "012345678901FINISHED" + 
SimpleHttpClient.CRLF +
+ "0" + SimpleHttpClient.CRLF +
+ SimpleHttpClient.CRLF});
+client.connect();
+client.sendRequest();
+
+client.setUseContentLength(true);
+client.readResponse(true);
+
+Assert.assertTrue(client.isResponse200());
+Assert.assertTrue(client.isResponseBodyOK());
+}
+
+
+private static class Client extends SimpleHttpClient {
+@Override
+public boolean isResponseBodyOK() {
+return "OK".equals(getResponseBody());
+}
+}
+
+
 @Test
 public void testNonBlockingWrite() throws Exception {
 testNonBlockingWriteInternal(false);
diff --git a/webapps/docs/changel

(tomcat) branch main updated: Ensure onAllDataRead() fires with chunked request body

2024-04-23 Thread markt
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 e62cf34b1c Ensure onAllDataRead() fires with chunked request body
e62cf34b1c is described below

commit e62cf34b1c1e4c56d1a448735337fe30a7eb96eb
Author: Mark Thomas 
AuthorDate: Tue Apr 23 13:48:49 2024 +0100

Ensure onAllDataRead() fires with chunked request body
---
 .../coyote/http11/filters/ChunkedInputFilter.java  | 15 
 .../catalina/nonblocking/TestNonBlockingAPI.java   | 45 ++
 webapps/docs/changelog.xml |  5 +++
 3 files changed, 65 insertions(+)

diff --git a/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java 
b/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java
index 13dcb7d53f..c0b74a185f 100644
--- a/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java
+++ b/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java
@@ -24,6 +24,7 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.coyote.ActionCode;
 import org.apache.coyote.BadRequestException;
 import org.apache.coyote.InputBuffer;
 import org.apache.coyote.Request;
@@ -167,6 +168,20 @@ public class ChunkedInputFilter implements InputFilter, 
ApplicationBufferHandler
 }
 if (endChunk) {
 parseEndChunk();
+if (!request.isRequestThread()) {
+/*
+ * Perform the dispatch back to the container for the 
onAllDataRead() event. For non-chunked input
+ * this would be performed when isReady() is next called.
+ *
+ * Chunked input returns one chunk at a time for 
non-blocking reads. A consequence of this is that
+ * reading the final chunk returns -1 which signals the 
end of stream. The application code reading
+ * the request body probably won't call isReady() after 
receiving the -1 return value since it
+ * already knows it is at end of stream. Therefore we 
trigger the dispatch back to the container
+ * here which in turn ensures the onAllDataRead() event is 
fired.
+ */
+request.action(ActionCode.DISPATCH_READ, null);
+request.action(ActionCode.DISPATCH_EXECUTE, null);
+}
 return -1;
 }
 }
diff --git a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java 
b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
index 6d2e202031..66fbf2ac12 100644
--- a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
+++ b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
@@ -155,6 +155,51 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
 }
 
 
+@Test
+public void testNonBlockingReadChunked() throws Exception {
+Tomcat tomcat = getTomcatInstance();
+
+// No file system docBase required
+Context ctx = getProgrammaticRootContext();
+
+NBReadServlet servlet = new NBReadServlet(false, true);
+String servletName = NBReadServlet.class.getName();
+Tomcat.addServlet(ctx, servletName, servlet);
+ctx.addServletMappingDecoded("/", servletName);
+
+tomcat.start();
+
+Client client = new Client();
+client.setPort(getPort());
+client.setRequest(new String[] { "GET / HTTP/1.1" + 
SimpleHttpClient.CRLF +
+ "Host: localhost:" + getPort() + 
SimpleHttpClient.CRLF +
+ "Transfer-Encoding: chunked" + 
SimpleHttpClient.CRLF +
+ SimpleHttpClient.CRLF +
+ "14" + SimpleHttpClient.CRLF +
+ "01234567890123456789" + 
SimpleHttpClient.CRLF +
+ "14" + SimpleHttpClient.CRLF +
+ "012345678901FINISHED" + 
SimpleHttpClient.CRLF +
+ "0" + SimpleHttpClient.CRLF +
+ SimpleHttpClient.CRLF});
+client.connect();
+client.sendRequest();
+
+client.setUseContentLength(true);
+client.readResponse(true);
+
+Assert.assertTrue(client.isResponse200());
+Assert.assertTrue(client.isResponseBodyOK());
+}
+
+
+private static class Client extends SimpleHttpClient {
+@Override
+public boolean isResponseBodyOK() {
+return "OK".equals(getResponseBody());
+}
+}
+
+
 @Test
 public void testNonBlockingWrite() throws Exception {
 testNonBlockingWriteInternal(false);
diff --git a/webapps/docs/changelog

[Bug 68932] Occasional 404 or 500 errors

2024-04-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=68932

--- Comment #6 from Michael Osipov  ---
(In reply to Christopher Schultz from comment #5)
> Surely, Michael meant to suggest upgrading to the latest 9.0.88 that was
> just released.

No, I wanted to know wether this problem is in 8 or 9 first. It is easier to
diff latest version of 8 and 9 instead of ancient ones.

-- 
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: [VOTE] Release Apache Tomcat 10.1.23

2024-04-23 Thread jean-frederic clere

On 4/23/24 14:44, Christopher Schultz wrote:

Jean-Frederic,

On 4/23/24 08:27, jean-frederic clere wrote:

On 4/23/24 09:47, Mark Thomas wrote:

On 23/04/2024 06:35, jean-frederic clere wrote:

On 4/17/24 12:00, Mark Thomas wrote:

Build is reproducible.


My tests here complain about examples, did I miss something.


No idea. You'd need to do a diff to see what didn't match and that 
will (hopefully) point you towards the root cause.


The class files are different... Investigating.


Try using "ant verify-release". It will give you suggestions for 
investigating anything that doesn't match.


+++
BUILD FAILED
/home/jfclere/TMP/tomcat-native-tests/apache-tomcat-10.1.23-src/build.xml:4363: 
Release toolchain versions do not match local toolchain:


Release Java: 22+36
Local Java:   17.0.9+9
Release Ant:  1.10.14
Local Ant:1.10.12

You may not be able to verify that this build is reproducible.
+++



-chris

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



--
Cheers

Jean-Frederic


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



(tomcat) branch main updated: Add debug log when going above a configured latch limit

2024-04-23 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm 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 e83695f8b5 Add debug log when going above a configured latch limit
e83695f8b5 is described below

commit e83695f8b5a365a31b9d1a38fa84b6d54ee848d0
Author: remm 
AuthorDate: Tue Apr 23 16:31:11 2024 +0200

Add debug log when going above a configured latch limit
---
 java/org/apache/tomcat/util/threads/LimitLatch.java | 5 +
 java/org/apache/tomcat/util/threads/LocalStrings.properties | 2 ++
 webapps/docs/changelog.xml  | 4 
 3 files changed, 11 insertions(+)

diff --git a/java/org/apache/tomcat/util/threads/LimitLatch.java 
b/java/org/apache/tomcat/util/threads/LimitLatch.java
index 06675dd15d..5eea56aad1 100644
--- a/java/org/apache/tomcat/util/threads/LimitLatch.java
+++ b/java/org/apache/tomcat/util/threads/LimitLatch.java
@@ -22,6 +22,7 @@ import java.util.concurrent.locks.AbstractQueuedSynchronizer;
 
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.res.StringManager;
 
 /**
  * Shared latch that allows the latch to be acquired a limited number of times
@@ -31,6 +32,7 @@ import org.apache.juli.logging.LogFactory;
 public class LimitLatch {
 
 private static final Log log = LogFactory.getLog(LimitLatch.class);
+private static final StringManager sm = 
StringManager.getManager(LimitLatch.class);
 
 private class Sync extends AbstractQueuedSynchronizer {
 private static final long serialVersionUID = 1L;
@@ -42,6 +44,9 @@ public class LimitLatch {
 protected int tryAcquireShared(int ignored) {
 long newCount = count.incrementAndGet();
 if (!released && newCount > limit) {
+if (log.isDebugEnabled()) {
+log.debug(sm.getString("limitLatch.exceeded", 
Long.valueOf(limit)));
+}
 // Limit exceeded
 count.decrementAndGet();
 return -1;
diff --git a/java/org/apache/tomcat/util/threads/LocalStrings.properties 
b/java/org/apache/tomcat/util/threads/LocalStrings.properties
index 011470bac8..22a50d21be 100644
--- a/java/org/apache/tomcat/util/threads/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/threads/LocalStrings.properties
@@ -13,6 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+limitLatch.exceeded=Latch limit [{0}] exceeded
+
 taskQueue.notRunning=Executor not running, can't force a command into the queue
 
 taskThread.exiting=Thread exiting on purpose
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 84ba411ffe..3f8eddfbf7 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -164,6 +164,10 @@
 request body uses chunked encoding and is read using non-blocking IO.
 (markt)
   
+  
+68934: Add debug logging in the latch object when exceeding
+maxConnections. (remm)
+  
 
   
   


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



(tomcat) branch 10.1.x updated: Add debug log when going above a configured latch limit

2024-04-23 Thread remm
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/10.1.x by this push:
 new d1319a3628 Add debug log when going above a configured latch limit
d1319a3628 is described below

commit d1319a36284d0fa8b851e35b1716ba9bbd15dcdb
Author: remm 
AuthorDate: Tue Apr 23 16:31:11 2024 +0200

Add debug log when going above a configured latch limit
---
 java/org/apache/tomcat/util/threads/LimitLatch.java | 5 +
 java/org/apache/tomcat/util/threads/LocalStrings.properties | 2 ++
 webapps/docs/changelog.xml  | 4 
 3 files changed, 11 insertions(+)

diff --git a/java/org/apache/tomcat/util/threads/LimitLatch.java 
b/java/org/apache/tomcat/util/threads/LimitLatch.java
index 06675dd15d..5eea56aad1 100644
--- a/java/org/apache/tomcat/util/threads/LimitLatch.java
+++ b/java/org/apache/tomcat/util/threads/LimitLatch.java
@@ -22,6 +22,7 @@ import java.util.concurrent.locks.AbstractQueuedSynchronizer;
 
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.res.StringManager;
 
 /**
  * Shared latch that allows the latch to be acquired a limited number of times
@@ -31,6 +32,7 @@ import org.apache.juli.logging.LogFactory;
 public class LimitLatch {
 
 private static final Log log = LogFactory.getLog(LimitLatch.class);
+private static final StringManager sm = 
StringManager.getManager(LimitLatch.class);
 
 private class Sync extends AbstractQueuedSynchronizer {
 private static final long serialVersionUID = 1L;
@@ -42,6 +44,9 @@ public class LimitLatch {
 protected int tryAcquireShared(int ignored) {
 long newCount = count.incrementAndGet();
 if (!released && newCount > limit) {
+if (log.isDebugEnabled()) {
+log.debug(sm.getString("limitLatch.exceeded", 
Long.valueOf(limit)));
+}
 // Limit exceeded
 count.decrementAndGet();
 return -1;
diff --git a/java/org/apache/tomcat/util/threads/LocalStrings.properties 
b/java/org/apache/tomcat/util/threads/LocalStrings.properties
index 53856f58a0..5c79a42bd0 100644
--- a/java/org/apache/tomcat/util/threads/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/threads/LocalStrings.properties
@@ -13,6 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+limitLatch.exceeded=Latch limit [{0}] exceeded
+
 taskQueue.notRunning=Executor not running, can't force a command into the queue
 
 taskThread.exiting=Thread exiting on purpose
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 036fed1454..b27c12dbe9 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -169,6 +169,10 @@
 request body uses chunked encoding and is read using non-blocking IO.
 (markt)
   
+  
+68934: Add debug logging in the latch object when exceeding
+maxConnections. (remm)
+  
 
   
   


-
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: Add debug log when going above a configured latch limit

2024-04-23 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm 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 6b2578b8ff Add debug log when going above a configured latch limit
6b2578b8ff is described below

commit 6b2578b8ff69925819ba641b70132aa33aec4a9e
Author: remm 
AuthorDate: Tue Apr 23 16:31:11 2024 +0200

Add debug log when going above a configured latch limit
---
 java/org/apache/tomcat/util/threads/LimitLatch.java | 5 +
 java/org/apache/tomcat/util/threads/LocalStrings.properties | 2 ++
 webapps/docs/changelog.xml  | 4 
 3 files changed, 11 insertions(+)

diff --git a/java/org/apache/tomcat/util/threads/LimitLatch.java 
b/java/org/apache/tomcat/util/threads/LimitLatch.java
index 06675dd15d..5eea56aad1 100644
--- a/java/org/apache/tomcat/util/threads/LimitLatch.java
+++ b/java/org/apache/tomcat/util/threads/LimitLatch.java
@@ -22,6 +22,7 @@ import java.util.concurrent.locks.AbstractQueuedSynchronizer;
 
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.res.StringManager;
 
 /**
  * Shared latch that allows the latch to be acquired a limited number of times
@@ -31,6 +32,7 @@ import org.apache.juli.logging.LogFactory;
 public class LimitLatch {
 
 private static final Log log = LogFactory.getLog(LimitLatch.class);
+private static final StringManager sm = 
StringManager.getManager(LimitLatch.class);
 
 private class Sync extends AbstractQueuedSynchronizer {
 private static final long serialVersionUID = 1L;
@@ -42,6 +44,9 @@ public class LimitLatch {
 protected int tryAcquireShared(int ignored) {
 long newCount = count.incrementAndGet();
 if (!released && newCount > limit) {
+if (log.isDebugEnabled()) {
+log.debug(sm.getString("limitLatch.exceeded", 
Long.valueOf(limit)));
+}
 // Limit exceeded
 count.decrementAndGet();
 return -1;
diff --git a/java/org/apache/tomcat/util/threads/LocalStrings.properties 
b/java/org/apache/tomcat/util/threads/LocalStrings.properties
index 53856f58a0..5c79a42bd0 100644
--- a/java/org/apache/tomcat/util/threads/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/threads/LocalStrings.properties
@@ -13,6 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+limitLatch.exceeded=Latch limit [{0}] exceeded
+
 taskQueue.notRunning=Executor not running, can't force a command into the queue
 
 taskThread.exiting=Thread exiting on purpose
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index f1fc917298..4608fa5a61 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -159,6 +159,10 @@
 request body uses chunked encoding and is read using non-blocking IO.
 (markt)
   
+  
+68934: Add debug logging in the latch object when exceeding
+maxConnections. (remm)
+  
 
   
   


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



[Bug 68934] Add logginge for set Connector parameter limits such as maxConnections

2024-04-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=68934

Remy Maucherat  changed:

   What|Removed |Added

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

--- Comment #1 from Remy Maucherat  ---
It is not possible to do something generic for everything.

I added a debug log to LimitLatch when going over the limit, which is the
structure used for enforcing maxConnections. The latch had some tracing
already, but nothing for the actually important event ... This could get
verbose if hit all the time though.

maxThreads is about the thread pool, which has a lot of statistics and
exceptions when rejecting a task (when maxThreads + queue full). There are
multiple possible thread pool implementations so any of them could be doing
something slightly different.

-- 
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: [VOTE] Release Apache Tomcat 10.1.23

2024-04-23 Thread jean-frederic clere

On 4/23/24 14:47, Christopher Schultz wrote:

Jean-Frederic,

On 4/23/24 08:27, jean-frederic clere wrote:

On 4/23/24 09:47, Mark Thomas wrote:

On 23/04/2024 06:35, jean-frederic clere wrote:

On 4/17/24 12:00, Mark Thomas wrote:

Build is reproducible.


My tests here complain about examples, did I miss something.


No idea. You'd need to do a diff to see what didn't match and that 
will (hopefully) point you towards the root cause.


The class files are different... Investigating.


I'm holding the VOTE-RESULT email just in case you find something truly 
weird.


I have changed my VM to 22 and the diff are passing now so I think we 
are good, thanks for releasing.




-chris

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



--
Cheers

Jean-Frederic


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



(tomcat) branch main updated: Add release date

2024-04-23 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm 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 edbfd88388 Add release date
edbfd88388 is described below

commit edbfd883884ad353ffbf7d689d0baa18ec60efd5
Author: remm 
AuthorDate: Tue Apr 23 17:09:40 2024 +0200

Add release date
---
 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 3f8eddfbf7..84f0728374 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -180,7 +180,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: Add release date

2024-04-23 Thread remm
This is an automated email from the ASF dual-hosted git repository.

remm 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 fb0d731ffe Add release date
fb0d731ffe is described below

commit fb0d731ffebb49005dcf8428264d9a32d1081a70
Author: remm 
AuthorDate: Tue Apr 23 17:10:31 2024 +0200

Add release date
---
 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 4608fa5a61..975279bfd2 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -176,7 +176,7 @@
 
   
 
-
+
   
 
   


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



(tomcat) branch 10.1.x updated: Next is 10.1.24

2024-04-23 Thread remm
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/10.1.x by this push:
 new fb5b3ffe0a Next is 10.1.24
fb5b3ffe0a is described below

commit fb5b3ffe0a038e9e59fc381e5e344f0292af794b
Author: remm 
AuthorDate: Tue Apr 23 17:15:08 2024 +0200

Next is 10.1.24

Fix changelog.
---
 build.properties.default |  2 +-
 res/maven/mvn.properties.default |  2 +-
 webapps/docs/changelog.xml   | 60 +++-
 3 files changed, 37 insertions(+), 27 deletions(-)

diff --git a/build.properties.default b/build.properties.default
index 0efb35249b..9a6764c453 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -31,7 +31,7 @@
 # - Version Control Flags -
 version.major=10
 version.minor=1
-version.build=23
+version.build=24
 version.patch=0
 version.suffix=
 version.dev=-dev
diff --git a/res/maven/mvn.properties.default b/res/maven/mvn.properties.default
index 0e3eb7861b..d5a2848510 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.1.23
+maven.asf.release.deploy.version=10.1.24
 
 #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 b27c12dbe9..20ee6a0cbc 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -104,27 +104,9 @@
   They eventually become mixed with the numbered issues (i.e., numbered
   issues do not "pop up" wrt. others).
 -->
-
+
   
 
-  
-Deprecate and remove sessionCounter (replaced by the
-addition of the active session count and the expired session count,
-as a reasonable approximation) and duplicates (which
-does not represent a possible event in current implementations)
-statistics from the session manager. (remm)
-  
-  
-68890 Align output encoding of JSPs in the Manager webapp
-with the XML declarations in those same files. (schultz)
-  
-  
-Update Basic authentication to implement the requirements of RFC 7617
-including the changing of the trimCredentials setting 
which
-is now defaults to false. Note that the
-trimCredentials setting will be removed in Tomcat 11.
-(markt)
-  
   
 Small performance optimization when logging cookies with no values.
 (schultz)
@@ -143,12 +125,6 @@
   
   
 
-  
-Fix bnd jar descriptor to include the OpenSSL FFM support. (remm)
-  
-  
-Add OpenSSL FFM classes to tomcat-embed-core.jar. (remm)
-  
   
 Align non-secure and secure writes with NIO and skip the write attempt
 when there are no bytes to be written. (markt)
@@ -186,6 +162,40 @@
 
   
 
+
+  
+
+  
+Deprecate and remove sessionCounter (replaced by the
+addition of the active session count and the expired session count,
+as a reasonable approximation) and duplicates (which
+does not represent a possible event in current implementations)
+statistics from the session manager. (remm)
+  
+  
+68890 Align output encoding of JSPs in the Manager webapp
+with the XML declarations in those same files. (schultz)
+  
+  
+Update Basic authentication to implement the requirements of RFC 7617
+including the changing of the trimCredentials setting 
which
+is now defaults to false. Note that the
+trimCredentials setting will be removed in Tomcat 11.
+(markt)
+  
+
+  
+  
+
+  
+Fix bnd jar descriptor to include the OpenSSL FFM support. (remm)
+  
+  
+Add OpenSSL FFM classes to tomcat-embed-core.jar. (remm)
+  
+
+  
+
 
   
 


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



[VOTE][RESULT] Release Apache Tomcat 10.1.23

2024-04-23 Thread Christopher Schultz

All,

The following votes were cast:

Binding:
+1: schultz, remm, markt, rjung, jfclere

Non-binding:
+1: Dimitris Soumis

There were no other votes, therefore the vote passed.

I will begin the release process shortly. Thanks to everyone who 
contributed toward this release.


-chris


The proposed Apache Tomcat 10.1.23 release is now available for
voting. Apache Tomcat 10.1.21 was canceled due to a release-build mistake and 
Apache Tomcat 10.1.22 was cancelled due to an option in startup scripts which 
would have caused Java 11 environments to fail to start.

The notable changes compared to 10.1.20 are:

- Improve locking strategies in Catalina core

- Update Basic authentication to implement the requirements of RFC 7617

- Updates to Apache Commons dependencies

- Add OpenSSL support when FFM is available

For full details, see the change log:
https://nightlies.apache.org/tomcat/tomcat-10.1.x/docs/changelog.html

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.

It can be obtained from:
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.1.23/

The Maven staging repo is:
https://repository.apache.org/content/repositories/orgapachetomcat-1492

The tag is:
https://github.com/apache/tomcat/tree/10.1.23
https://github.com/apache/tomcat/commit/9062d27dc5122e8241ea62a4c4312af0dc71da49

Please reply with a +1 for release or -0/-1 with an explanation.

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



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



svn commit: r68732 - /dev/tomcat/tomcat-10/v10.1.23/ /release/tomcat/tomcat-10/v10.1.23/

2024-04-23 Thread schultz
Author: schultz
Date: Tue Apr 23 20:26:28 2024
New Revision: 68732

Log:
Promote v10.1.23 to released.

Added:
release/tomcat/tomcat-10/v10.1.23/
  - copied from r68731, dev/tomcat/tomcat-10/v10.1.23/
Removed:
dev/tomcat/tomcat-10/v10.1.23/


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



svn commit: r1917291 - in /tomcat/site/trunk: ./ docs/ docs/tomcat-10.1-doc/ docs/tomcat-10.1-doc/annotationapi/ docs/tomcat-10.1-doc/annotationapi/jakarta/annotation/ docs/tomcat-10.1-doc/annotationa

2024-04-23 Thread schultz
Author: schultz
Date: Tue Apr 23 20:35:05 2024
New Revision: 1917291

URL: http://svn.apache.org/viewvc?rev=1917291&view=rev
Log:
Update website to announce the release of Apache Tomcat 10.1.23.


[This commit notification would consist of 468 parts, 
which exceeds the limit of 50 ones, so it was shortened to the summary.]

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



svn commit: r1917292 - /tomcat/site/trunk/docs/tomcat-8.5-doc/changelog.html

2024-04-23 Thread schultz
Author: schultz
Date: Tue Apr 23 20:37:56 2024
New Revision: 1917292

URL: http://svn.apache.org/viewvc?rev=1917292&view=rev
Log:
Update release date for Tomcat 8.5.100.

Modified:
tomcat/site/trunk/docs/tomcat-8.5-doc/changelog.html

Modified: tomcat/site/trunk/docs/tomcat-8.5-doc/changelog.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-8.5-doc/changelog.html?rev=1917292&r1=1917291&r2=1917292&view=diff
==
--- tomcat/site/trunk/docs/tomcat-8.5-doc/changelog.html (original)
+++ tomcat/site/trunk/docs/tomcat-8.5-doc/changelog.html Tue Apr 23 20:37:56 
2024
@@ -1,7 +1,7 @@
 
 Apache Tomcat 8 (8.5.100) - 
Changeloghttps://tomcat.apache.org/";>https://www.apache.org/"; target="_blank">Apache Tomcat 8
 Version 8.5.100,
-Mar 19 2024LinksDocs Homehttps://cwiki.apache.org/confluence/display/TOMCAT/FAQ";>FAQUser
 Guide1) Introduction2) Setup3) First 
webapp4) Deployer5) Manager6) Host Manager7) Realms and AAA8) Security Manager9) JNDI Resources10) JDBC DataSources
 11) Classloading12) JSPs13) 
SSL/TLS14) SSI15) CGI16) Proxy 
Support17) MBeans 
Descriptors18) Default 
Servlet19) Clustering20) Load Balancer21) Connectors22) 
Monitoring and Management23) 
Logging24) APR/Native25) Virtual Hosting26) Advanced IO27) 
Additional Components28) Maveni
 zed29) Security 
Considerations30) Windows 
Service31) Windows 
Authentication32) Tomcat's JDBC 
Pool33) WebSocket34) 
RewriteReferenceRelease NotesConfigurationTomcat JavadocsServlet 3.1 JavadocsJSP 2.3 JavadocsEL 3.0 JavadocsWebSocket 1.1 JavadocsJASPIC 1.1 JavadocsCommon Annotations 1.2 JavadocsJK 1.2 
DocumentationApache Tomcat 
DevelopmentBuildingChangeloghttps://cwiki.apache.org/confluence/display/TOMCAT/Tomcat+Versions";>StatusDevelopersArchitectureTribesChangelog Tomcat 8.5.100 (schultz)
+Mar 19 2024LinksDocs Homehttps://cwiki.apache.org/confluence/display/TOMCAT/FAQ";>FAQUser
 Guide1) Introduction2) Setup3) First 
webapp4) Deployer5) Manager6) Host Manager7) Realms and AAA8) Security Manager9) JNDI Resources10) JDBC DataSources
 11) Classloading12) JSPs13) 
SSL/TLS14) SSI15) CGI16) Proxy 
Support17) MBeans 
Descriptors18) Default 
Servlet19) Clustering20) Load Balancer21) Connectors22) 
Monitoring and Management23) 
Logging24) APR/Native25) Virtual Hosting26) Advanced IO27) 
Additional Components28) Maveni
 zed29) Security 
Considerations30) Windows 
Service31) Windows 
Authentication32) Tomcat's JDBC 
Pool33) WebSocket34) 
RewriteReferenceRelease NotesConfigurationTomcat JavadocsServlet 3.1 JavadocsJSP 2.3 JavadocsEL 3.0 JavadocsWebSocket 1.1 JavadocsJASPIC 1.1 JavadocsCommon Annotations 1.2 JavadocsJK 1.2 
DocumentationApache Tomcat 
DevelopmentBuildingChangeloghttps://cwiki.apache.org/confluence/display/TOMCAT/Tomcat+Versions";>StatusDevelopersArchitectureTribesChangelog2024-03-25 Tomcat 8.5.100 (schultz)
   Catalina
 
   
@@ -12683,4 +12683,4 @@
 Apache Tomcat, Tomcat, Apache, the Apache Tomcat logo and the Apache logo
 are either registered trademarks or trademarks of the Apache Software
 Foundation.
-
\ No newline at end of file
+



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



svn commit: r68733 - in /release/tomcat/tomcat-10: v10.1.19/ v10.1.20/

2024-04-23 Thread schultz
Author: schultz
Date: Tue Apr 23 20:40:16 2024
New Revision: 68733

Log:
Drop old release artifacts

Removed:
release/tomcat/tomcat-10/v10.1.19/
release/tomcat/tomcat-10/v10.1.20/


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



(tomcat) branch 10.1.x updated: Add release date

2024-04-23 Thread schultz
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/10.1.x by this push:
 new 0262b2abdc Add release date
0262b2abdc is described below

commit 0262b2abdca6622318eb8dfb8f1f5f807ee6e7fb
Author: Christopher Schultz 
AuthorDate: Tue Apr 23 16:44:27 2024 -0400

Add release date
---
 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 20ee6a0cbc..82142794da 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -162,7 +162,7 @@
 
   
 
-
+
   
 
   


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



[Bug 68934] Log events which exceed Connector parameter limits such as maxConnections

2024-04-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=68934

Christopher Schultz  changed:

   What|Removed |Added

Summary|Add logginge for set|Log events which exceed
   |Connector parameter limits  |Connector parameter limits
   |such as maxConnections  |such as maxConnections

-- 
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 68938] ScriptEngine engine is null

2024-04-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=68938

--- Comment #2 from Adam  ---
(In reply to Michael Osipov from comment #1)
> ??? So what? What is the report here?

How to config the maven pom to solve the problem.

-- 
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