[tomcat] branch main updated (e7cd552c75 -> 0d2f562cfd)

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

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


from e7cd552c75 Code clean-up. Reformatting. No functional change.
 add 0d2f562cfd Fix BZ 66535 - Redefine meaning of maxValidTime

No new revisions were added by this update.

Summary of changes:
 .../catalina/ha/deploy/FileMessageFactory.java | 25 ++
 .../catalina/ha/deploy/LocalStrings.properties |  1 +
 webapps/docs/changelog.xml | 11 ++
 webapps/docs/config/cluster-deployer.xml   | 20 ++---
 4 files changed, 45 insertions(+), 12 deletions(-)


-
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: Fix BZ 66535 - Redefine meaning of maxValidTime

2023-03-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 9640fe4e03 Fix BZ 66535 - Redefine meaning of maxValidTime
9640fe4e03 is described below

commit 9640fe4e032e3597ff8839d713b20b0e6d6049b5
Author: Mark Thomas 
AuthorDate: Thu Mar 23 11:28:37 2023 +

Fix BZ 66535 - Redefine meaning of maxValidTime

It is now the maximum time allowed between receiving parts of a
transferred file. A new warning is logged if the transfer is cancelled.
---
 .../catalina/ha/deploy/FileMessageFactory.java | 25 ++
 .../catalina/ha/deploy/LocalStrings.properties |  1 +
 webapps/docs/changelog.xml | 11 ++
 webapps/docs/config/cluster-deployer.xml   | 20 ++---
 4 files changed, 45 insertions(+), 12 deletions(-)

diff --git a/java/org/apache/catalina/ha/deploy/FileMessageFactory.java 
b/java/org/apache/catalina/ha/deploy/FileMessageFactory.java
index 979f13d37c..19fa652f4c 100644
--- a/java/org/apache/catalina/ha/deploy/FileMessageFactory.java
+++ b/java/org/apache/catalina/ha/deploy/FileMessageFactory.java
@@ -111,11 +111,20 @@ public class FileMessageFactory {
 
 /**
  * The time this instance was created. (in milliseconds)
+ *
+ * @deprecated Unused. This will be removed in Tomcat 11.
  */
+@Deprecated
 protected long creationTime = 0;
 
+
+/**
+ * The time this instance was last modified.
+ */
+protected long lastModified = 0;
+
 /**
- * The maximum valid time(in seconds) from creationTime.
+ * The maximum time (in seconds) this instance will be allowed to exist 
from lastModifiedTime.
  */
 protected int maxValidTime = -1;
 
@@ -150,6 +159,7 @@ public class FileMessageFactory {
 in = new FileInputStream(f);
 } // end if
 creationTime = System.currentTimeMillis();
+lastModified = System.currentTimeMillis();
 }
 
 /**
@@ -231,6 +241,9 @@ public class FileMessageFactory {
 return false;
 }
 
+// Have received a new message. Update the last modified time (even if 
the message is being buffered for now).
+lastModified = System.currentTimeMillis();
+
 FileMessage next = null;
 synchronized (this) {
 if (!isWriting) {
@@ -322,11 +335,15 @@ public class FileMessageFactory {
 public boolean isValid() {
 if (maxValidTime > 0) {
 long timeNow = System.currentTimeMillis();
-int timeIdle = (int) ((timeNow - creationTime) / 1000L);
+long timeIdle = (timeNow - lastModified) / 1000L;
 if (timeIdle > maxValidTime) {
 cleanup();
-if (file.exists() && !file.delete()) {
-log.warn(sm.getString("fileMessageFactory.deleteFail", 
file));
+if (file.exists()) {
+if (file.delete()) {
+log.warn(sm.getString("fileMessageFactory.delete", 
file, Long.toString(maxValidTime)));
+} else {
+log.warn(sm.getString("fileMessageFactory.deleteFail", 
file));
+}
 }
 return false;
 }
diff --git a/java/org/apache/catalina/ha/deploy/LocalStrings.properties 
b/java/org/apache/catalina/ha/deploy/LocalStrings.properties
index 52c617424a..8b2df01de2 100644
--- a/java/org/apache/catalina/ha/deploy/LocalStrings.properties
+++ b/java/org/apache/catalina/ha/deploy/LocalStrings.properties
@@ -14,6 +14,7 @@
 # limitations under the License.
 
 farmWarDeployer.alreadyDeployed=webapp [{0}] are already deployed.
+farmWarDeployer.delete=Deleted [{0}] before the full file was received as the 
maxValidTime of [{1}] seconds has expired
 farmWarDeployer.deleteFail=Failed to delete [{0}]
 farmWarDeployer.deployEnd=Deployment from [{0}] finished.
 farmWarDeployer.fileCopyFail=Unable to copy from [{0}] to [{1}]
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index d35700aadf..51039b7e2f 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -191,6 +191,17 @@
   
 
   
+  
+
+  
+66535: Redefine the maxValidTime attribute of
+FarmWarDeployer to be the maximum time allowed between
+receiving parts of a transferred file before the transfer is cancelled
+and the associated resources cleaned-up. A new warning message will be
+logged if the file transfer is cancelled. (markt)
+  
+
+  
   
 
   
diff --git a/webapps/docs/config/cluster-deployer.xml 
b/webapps/docs/config/cluster-deployer.xml
index 7b750f9d8c..f956e46fbc 100644
--- a/webapps/docs/config/cluster-deployer.xml
+++ b/webapps/docs/config/cluster-deployer.xml
@@ -84,14 +84,18 @@
 att

[tomcat] branch 9.0.x updated: Fix BZ 66535 - Redefine meaning of maxValidTime

2023-03-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 50f9925b7e Fix BZ 66535 - Redefine meaning of maxValidTime
50f9925b7e is described below

commit 50f9925b7e524f3a8553729be0b73bc23b4f2b3e
Author: Mark Thomas 
AuthorDate: Thu Mar 23 11:28:37 2023 +

Fix BZ 66535 - Redefine meaning of maxValidTime

It is now the maximum time allowed between receiving parts of a
transferred file. A new warning is logged if the transfer is cancelled.
---
 .../catalina/ha/deploy/FileMessageFactory.java | 25 ++
 .../catalina/ha/deploy/LocalStrings.properties |  1 +
 webapps/docs/changelog.xml | 11 ++
 webapps/docs/config/cluster-deployer.xml   | 20 ++---
 4 files changed, 45 insertions(+), 12 deletions(-)

diff --git a/java/org/apache/catalina/ha/deploy/FileMessageFactory.java 
b/java/org/apache/catalina/ha/deploy/FileMessageFactory.java
index 09d4cf7591..f73db0dc34 100644
--- a/java/org/apache/catalina/ha/deploy/FileMessageFactory.java
+++ b/java/org/apache/catalina/ha/deploy/FileMessageFactory.java
@@ -111,11 +111,20 @@ public class FileMessageFactory {
 
 /**
  * The time this instance was created. (in milliseconds)
+ *
+ * @deprecated Unused. This will be removed in Tomcat 11.
  */
+@Deprecated
 protected long creationTime = 0;
 
+
 /**
- * The maximum valid time(in seconds) from creationTime.
+ * The time this instance was last modified.
+ */
+protected long lastModified = 0;
+
+/**
+ * The maximum time (in seconds) this instance will be allowed to exist 
from lastModifiedTime.
  */
 protected int maxValidTime = -1;
 
@@ -150,6 +159,7 @@ public class FileMessageFactory {
 in = new FileInputStream(f);
 } // end if
 creationTime = System.currentTimeMillis();
+lastModified = System.currentTimeMillis();
 }
 
 /**
@@ -231,6 +241,9 @@ public class FileMessageFactory {
 return false;
 }
 
+// Have received a new message. Update the last modified time (even if 
the message is being buffered for now).
+lastModified = System.currentTimeMillis();
+
 FileMessage next = null;
 synchronized (this) {
 if (!isWriting) {
@@ -353,11 +366,15 @@ public class FileMessageFactory {
 public boolean isValid() {
 if (maxValidTime > 0) {
 long timeNow = System.currentTimeMillis();
-int timeIdle = (int) ((timeNow - creationTime) / 1000L);
+long timeIdle = (timeNow - lastModified) / 1000L;
 if (timeIdle > maxValidTime) {
 cleanup();
-if (file.exists() && !file.delete()) {
-log.warn(sm.getString("fileMessageFactory.deleteFail", 
file));
+if (file.exists()) {
+if (file.delete()) {
+log.warn(sm.getString("fileMessageFactory.delete", 
file, Long.toString(maxValidTime)));
+} else {
+log.warn(sm.getString("fileMessageFactory.deleteFail", 
file));
+}
 }
 return false;
 }
diff --git a/java/org/apache/catalina/ha/deploy/LocalStrings.properties 
b/java/org/apache/catalina/ha/deploy/LocalStrings.properties
index 52c617424a..8b2df01de2 100644
--- a/java/org/apache/catalina/ha/deploy/LocalStrings.properties
+++ b/java/org/apache/catalina/ha/deploy/LocalStrings.properties
@@ -14,6 +14,7 @@
 # limitations under the License.
 
 farmWarDeployer.alreadyDeployed=webapp [{0}] are already deployed.
+farmWarDeployer.delete=Deleted [{0}] before the full file was received as the 
maxValidTime of [{1}] seconds has expired
 farmWarDeployer.deleteFail=Failed to delete [{0}]
 farmWarDeployer.deployEnd=Deployment from [{0}] finished.
 farmWarDeployer.fileCopyFail=Unable to copy from [{0}] to [{1}]
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index d90a53092b..57bc93bfcd 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -186,6 +186,17 @@
   
 
   
+  
+
+  
+66535: Redefine the maxValidTime attribute of
+FarmWarDeployer to be the maximum time allowed between
+receiving parts of a transferred file before the transfer is cancelled
+and the associated resources cleaned-up. A new warning message will be
+logged if the file transfer is cancelled. (markt)
+  
+
+  
   
 
   
diff --git a/webapps/docs/config/cluster-deployer.xml 
b/webapps/docs/config/cluster-deployer.xml
index 7b750f9d8c..f956e46fbc 100644
--- a/webapps/docs/config/cluster-deployer.xml
+++ b/webapps/docs/config/cluster-deployer.xml
@@ -84,14 +84,18 @@
 attri

[tomcat] branch 8.5.x updated: Fix BZ 66535 - Redefine meaning of maxValidTime

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

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


The following commit(s) were added to refs/heads/8.5.x by this push:
 new 174d2a0810 Fix BZ 66535 - Redefine meaning of maxValidTime
174d2a0810 is described below

commit 174d2a0810ed1fe70f79d81a4cd9c6e313805d91
Author: Mark Thomas 
AuthorDate: Thu Mar 23 11:28:37 2023 +

Fix BZ 66535 - Redefine meaning of maxValidTime

It is now the maximum time allowed between receiving parts of a
transferred file. A new warning is logged if the transfer is cancelled.
---
 .../catalina/ha/deploy/FileMessageFactory.java | 25 ++
 .../catalina/ha/deploy/LocalStrings.properties |  1 +
 webapps/docs/changelog.xml | 11 ++
 webapps/docs/config/cluster-deployer.xml   | 20 ++---
 4 files changed, 45 insertions(+), 12 deletions(-)

diff --git a/java/org/apache/catalina/ha/deploy/FileMessageFactory.java 
b/java/org/apache/catalina/ha/deploy/FileMessageFactory.java
index ba83be426a..4a4394af37 100644
--- a/java/org/apache/catalina/ha/deploy/FileMessageFactory.java
+++ b/java/org/apache/catalina/ha/deploy/FileMessageFactory.java
@@ -111,11 +111,20 @@ public class FileMessageFactory {
 
 /**
  * The time this instance was created. (in milliseconds)
+ *
+ * @deprecated Unused. This will be removed in Tomcat 11.
  */
+@Deprecated
 protected long creationTime = 0;
 
+
+/**
+ * The time this instance was last modified.
+ */
+protected long lastModified = 0;
+
 /**
- * The maximum valid time(in seconds) from creationTime.
+ * The maximum time (in seconds) this instance will be allowed to exist 
from lastModifiedTime.
  */
 protected int maxValidTime = -1;
 
@@ -150,6 +159,7 @@ public class FileMessageFactory {
 in = new FileInputStream(f);
 } // end if
 creationTime = System.currentTimeMillis();
+lastModified = System.currentTimeMillis();
 }
 
 /**
@@ -231,6 +241,9 @@ public class FileMessageFactory {
 return false;
 }
 
+// Have received a new message. Update the last modified time (even if 
the message is being buffered for now).
+lastModified = System.currentTimeMillis();
+
 FileMessage next = null;
 synchronized (this) {
 if (!isWriting) {
@@ -350,11 +363,15 @@ public class FileMessageFactory {
 public boolean isValid() {
 if (maxValidTime > 0) {
 long timeNow = System.currentTimeMillis();
-int timeIdle = (int) ((timeNow - creationTime) / 1000L);
+long timeIdle = (timeNow - lastModified) / 1000L;
 if (timeIdle > maxValidTime) {
 cleanup();
-if (file.exists() && !file.delete()) {
-log.warn(sm.getString("fileMessageFactory.deleteFail", 
file));
+if (file.exists()) {
+if (file.delete()) {
+log.warn(sm.getString("fileMessageFactory.delete", 
file, Long.toString(maxValidTime)));
+} else {
+log.warn(sm.getString("fileMessageFactory.deleteFail", 
file));
+}
 }
 return false;
 }
diff --git a/java/org/apache/catalina/ha/deploy/LocalStrings.properties 
b/java/org/apache/catalina/ha/deploy/LocalStrings.properties
index a7748595ac..57b98534d3 100644
--- a/java/org/apache/catalina/ha/deploy/LocalStrings.properties
+++ b/java/org/apache/catalina/ha/deploy/LocalStrings.properties
@@ -14,6 +14,7 @@
 # limitations under the License.
 
 farmWarDeployer.alreadyDeployed=webapp [{0}] are already deployed.
+farmWarDeployer.delete=Deleted [{0}] before the full file was received as the 
maxValidTime of [{1}] seconds has expired
 farmWarDeployer.deleteFail=Failed to delete [{0}]
 farmWarDeployer.deployEnd=Deployment from [{0}] finished.
 farmWarDeployer.fileCopyFail=Unable to copy from [{0}] to [{1}]
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 361b5a9b45..10ab299e6c 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -181,6 +181,17 @@
   
 
   
+  
+
+  
+66535: Redefine the maxValidTime attribute of
+FarmWarDeployer to be the maximum time allowed between
+receiving parts of a transferred file before the transfer is cancelled
+and the associated resources cleaned-up. A new warning message will be
+logged if the file transfer is cancelled. (markt)
+  
+
+  
   
 
   
diff --git a/webapps/docs/config/cluster-deployer.xml 
b/webapps/docs/config/cluster-deployer.xml
index 7b750f9d8c..f956e46fbc 100644
--- a/webapps/docs/config/cluster-deployer.xml
+++ b/webapps/docs/config/cluster-deployer.xml
@@ -84,14 +84,18 @@
 attri

[GitHub] [tomcat] markt-asf commented on pull request #602: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-foreign

2023-03-23 Thread via GitHub


markt-asf commented on PR #602:
URL: https://github.com/apache/tomcat/pull/602#issuecomment-1481028384

   Unwanted PR


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



[GitHub] [tomcat] markt-asf closed pull request #602: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-foreign

2023-03-23 Thread via GitHub


markt-asf closed pull request #602: Bump tomcat-catalina from 9.0.68 to 9.0.72 
in /modules/openssl-foreign
URL: https://github.com/apache/tomcat/pull/602


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



[GitHub] [tomcat] dependabot[bot] commented on pull request #602: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-foreign

2023-03-23 Thread via GitHub


dependabot[bot] commented on PR #602:
URL: https://github.com/apache/tomcat/pull/602#issuecomment-1481028450

   OK, I won't notify you again about this release, but will get in touch when 
a new version is available. If you'd rather skip all updates until the next 
major or minor version, let me know by commenting `@dependabot ignore this 
major version` or `@dependabot ignore this minor version`.
   
   If you change your mind, just re-open this PR and I'll resolve any conflicts 
on it.


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



[GitHub] [tomcat] markt-asf commented on pull request #603: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-java17

2023-03-23 Thread via GitHub


markt-asf commented on PR #603:
URL: https://github.com/apache/tomcat/pull/603#issuecomment-1481028719

   Unwanted PR


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



[GitHub] [tomcat] markt-asf closed pull request #603: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-java17

2023-03-23 Thread via GitHub


markt-asf closed pull request #603: Bump tomcat-catalina from 9.0.68 to 9.0.72 
in /modules/openssl-java17
URL: https://github.com/apache/tomcat/pull/603


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



[GitHub] [tomcat] dependabot[bot] commented on pull request #603: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-java17

2023-03-23 Thread via GitHub


dependabot[bot] commented on PR #603:
URL: https://github.com/apache/tomcat/pull/603#issuecomment-1481028838

   OK, I won't notify you again about this release, but will get in touch when 
a new version is available. If you'd rather skip all updates until the next 
major or minor version, let me know by commenting `@dependabot ignore this 
major version` or `@dependabot ignore this minor version`.
   
   If you change your mind, just re-open this PR and I'll resolve any conflicts 
on it.


-- 
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 66535] FarmWarDeployer will fail to deploy a WAR file when maxvalidtime is less than the time it takes to transfer

2023-03-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=66535

Mark Thomas  changed:

   What|Removed |Added

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

--- Comment #4 from Mark Thomas  ---
Fixed in:
- 11.0.x for 11.0.0-M5 onwards
- 10.1.x for 10.1.8 onwards
-  9.0.x for  9.0.74 onwards
-  8.5.x for  8.5.88 onwards

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



[tomcat] branch main updated (0d2f562cfd -> 129211c806)

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

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


from 0d2f562cfd Fix BZ 66535 - Redefine meaning of maxValidTime
 add 129211c806 Delete deprecated code

No new revisions were added by this update.

Summary of changes:
 java/org/apache/catalina/ha/deploy/FileMessageFactory.java | 10 --
 1 file changed, 10 deletions(-)


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



Re: Reduce default for maxParameterCount

2023-03-23 Thread Konstantin Kolinko
ср, 22 мар. 2023 г. в 14:38, Mark Thomas :
>
> Any more thoughts on this?
>

1. If we cannot agree on the required behaviour, it is one more reason
to make it configurable.

As I said, it would be more useful to configure it at a Context.

2. Regarding the default behaviour,

Throwing an exception was also my first thought,
and it seems more natural.

Regarding implementation, I thought that in
org.apache.catalina.connector.Request all lines

if (!parametersParsed) {
parseParameters();
}
could be amended with "if (parseFailed) throw new
IllegalStateException(parseFailedReason)", or maybe put this "throw"
into parseParameters().

BTW, Spring Framework has a feature that routing of requests can be
configured with annotations.
https://docs.spring.io/spring-framework/docs/5.3.25/reference/html/web.html#mvc-ann-requestmapping-params-and-headers

In this case parameters parsing is hidden from the caller (done by
framework), and also a Request may be omitted from method signature
(so one wouldn't check its attributes to check for failed parsing). In
this case it makes sense to throw an exception to report a failure.

3. Regarding UserDataHelper,

1) If we rely on it, it means being too late.

At the time one considers reading the logs, data loss has already happened.

2) If you look at my mail regarding code paths (7th email in this thread),
if I have read the code correctly, I think that in case of

"d) Request.getParameter() was called, and request was  "multipart/form-data"."

there is no logging.

4. Regarding the value for maxParameterCount

500 parameters may mean 100 rows of 5 values each;
100 rows may mean daily values for 3 months.

1000 parameters may mean a year of daily data with 3 values each day.
It is not what one would frequently see in practice, but it could happen.


> There hasn't been much movement from the spec EG on this, so my current
> thinking is to revert this change for 10.1.x and earlier to wait and see
> what the Servlet EG decides.
>

5. If someone is thinking about improved API,

a) I wonder whether ExtendedAccessLogValve calling of getParameter()
could be improved,
so that it does not trigger parameter parsing that includes reading
the body of a POST.

Or maybe do reading, but with a lower timeout. Essentially in the same
way as when skipping a body of a failed request.

It is not a job for an AccessLogValve to spend time on parameter parsing.

b) I wonder whether parameter parsing could be done asynchronously.


Best regards,
Konstantin Kolinko

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



[GitHub] [tomcat] rmaucher commented on pull request #603: Bump tomcat-catalina from 9.0.68 to 9.0.72 in /modules/openssl-java17

2023-03-23 Thread via GitHub


rmaucher commented on PR #603:
URL: https://github.com/apache/tomcat/pull/603#issuecomment-1481104406

   I'll remember to update a bit more often to avoid this sort of unwanted 
noise !


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



Buildbot success in on tomcat-10.1.x

2023-03-23 Thread buildbot
Build status: Build succeeded!
Worker used: bb_worker2_ubuntu
URL: https://ci2.apache.org/#builders/44/builds/730
Blamelist: Mark Thomas 
Build Text: build successful
Status Detected: restored build
Build Source Stamp: [branch 10.1.x] 9640fe4e032e3597ff8839d713b20b0e6d6049b5


Steps:

  worker_preparation: 0

  git: 0

  shell: 0

  shell_1: 0

  shell_2: 0

  shell_3: 0

  shell_4: 0

  shell_5: 0

  compile: 1

  shell_6: 0

  shell_7: 0

  shell_8: 0

  shell_9: 0

  Rsync docs to nightlies.apache.org: 0

  shell_10: 0

  Rsync RAT to nightlies.apache.org: 0

  compile_1: 1

  shell_11: 0

  Rsync Logs to nightlies.apache.org: 0


-- ASF Buildbot


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



[tomcat] branch main updated: Reformat comment so format is retained when auto-formatting

2023-03-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 ba6a6a77c5 Reformat comment so format is retained when auto-formatting
ba6a6a77c5 is described below

commit ba6a6a77c5573477a904b9c8febf41379681c8ac
Author: Mark Thomas 
AuthorDate: Thu Mar 23 13:59:27 2023 +

Reformat comment so format is retained when auto-formatting
---
 java/org/apache/catalina/webresources/CachedResource.java | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/java/org/apache/catalina/webresources/CachedResource.java 
b/java/org/apache/catalina/webresources/CachedResource.java
index 9f7fca6640..80937068dc 100644
--- a/java/org/apache/catalina/webresources/CachedResource.java
+++ b/java/org/apache/catalina/webresources/CachedResource.java
@@ -316,10 +316,14 @@ public class CachedResource implements WebResource {
 /*
  * We don't want applications using this URL to access the resource 
directly as that could lead to inconsistent
  * results when the resource is updated on the file system but the 
cache entry has not yet expired. We saw this,
- * for example, in JSP compilation. - last modified time was obtained 
via
- * 
ServletContext.getResource("path").openConnection().getLastModified() - JSP 
content was obtained via
- * ServletContext.getResourceAsStream("path") The result was that the 
JSP modification was detected but the JSP
- * content was read from the cache so the non-updated JSP page was 
used to generate the .java and .class file
+ * for example, in JSP compilation.
+ *
+ * - last modified time was obtained via 
ServletContext.getResource("path").openConnection().getLastModified()
+ *
+ * - JSP content was obtained via 
ServletContext.getResourceAsStream("path")
+ *
+ * The result was that the JSP modification was detected but the JSP 
content was read from the cache so the
+ * non-updated JSP page was used to generate the .java and .class file
  *
  * One option to resolve this issue is to use a custom URL scheme for 
resource URLs. This would allow us, via
  * registration of a URLStreamHandlerFactory, to control how the 
resources are accessed and ensure that all


-
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: Reformat comment so format is retained when auto-formatting

2023-03-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 3f521ea6f4 Reformat comment so format is retained when auto-formatting
3f521ea6f4 is described below

commit 3f521ea6f4c8d54d928300cb8700b44dd83227c8
Author: Mark Thomas 
AuthorDate: Thu Mar 23 13:59:27 2023 +

Reformat comment so format is retained when auto-formatting
---
 java/org/apache/catalina/webresources/CachedResource.java | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/java/org/apache/catalina/webresources/CachedResource.java 
b/java/org/apache/catalina/webresources/CachedResource.java
index 55639a816f..07f479e062 100644
--- a/java/org/apache/catalina/webresources/CachedResource.java
+++ b/java/org/apache/catalina/webresources/CachedResource.java
@@ -316,10 +316,14 @@ public class CachedResource implements WebResource {
 /*
  * We don't want applications using this URL to access the resource 
directly as that could lead to inconsistent
  * results when the resource is updated on the file system but the 
cache entry has not yet expired. We saw this,
- * for example, in JSP compilation. - last modified time was obtained 
via
- * 
ServletContext.getResource("path").openConnection().getLastModified() - JSP 
content was obtained via
- * ServletContext.getResourceAsStream("path") The result was that the 
JSP modification was detected but the JSP
- * content was read from the cache so the non-updated JSP page was 
used to generate the .java and .class file
+ * for example, in JSP compilation.
+ *
+ * - last modified time was obtained via 
ServletContext.getResource("path").openConnection().getLastModified()
+ *
+ * - JSP content was obtained via 
ServletContext.getResourceAsStream("path")
+ *
+ * The result was that the JSP modification was detected but the JSP 
content was read from the cache so the
+ * non-updated JSP page was used to generate the .java and .class file
  *
  * One option to resolve this issue is to use a custom URL scheme for 
resource URLs. This would allow us, via
  * registration of a URLStreamHandlerFactory, to control how the 
resources are accessed and ensure that all


-
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: Reformat comment so format is retained when auto-formatting

2023-03-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 a923e1272b Reformat comment so format is retained when auto-formatting
a923e1272b is described below

commit a923e1272bf3d023528848069f076532ad28f8ca
Author: Mark Thomas 
AuthorDate: Thu Mar 23 13:59:27 2023 +

Reformat comment so format is retained when auto-formatting
---
 java/org/apache/catalina/webresources/CachedResource.java | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/java/org/apache/catalina/webresources/CachedResource.java 
b/java/org/apache/catalina/webresources/CachedResource.java
index 55639a816f..07f479e062 100644
--- a/java/org/apache/catalina/webresources/CachedResource.java
+++ b/java/org/apache/catalina/webresources/CachedResource.java
@@ -316,10 +316,14 @@ public class CachedResource implements WebResource {
 /*
  * We don't want applications using this URL to access the resource 
directly as that could lead to inconsistent
  * results when the resource is updated on the file system but the 
cache entry has not yet expired. We saw this,
- * for example, in JSP compilation. - last modified time was obtained 
via
- * 
ServletContext.getResource("path").openConnection().getLastModified() - JSP 
content was obtained via
- * ServletContext.getResourceAsStream("path") The result was that the 
JSP modification was detected but the JSP
- * content was read from the cache so the non-updated JSP page was 
used to generate the .java and .class file
+ * for example, in JSP compilation.
+ *
+ * - last modified time was obtained via 
ServletContext.getResource("path").openConnection().getLastModified()
+ *
+ * - JSP content was obtained via 
ServletContext.getResourceAsStream("path")
+ *
+ * The result was that the JSP modification was detected but the JSP 
content was read from the cache so the
+ * non-updated JSP page was used to generate the .java and .class file
  *
  * One option to resolve this issue is to use a custom URL scheme for 
resource URLs. This would allow us, via
  * registration of a URLStreamHandlerFactory, to control how the 
resources are accessed and ensure that all


-
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: Reformat comment so format is retained when auto-formatting

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

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


The following commit(s) were added to refs/heads/8.5.x by this push:
 new 1dfb4b77e8 Reformat comment so format is retained when auto-formatting
1dfb4b77e8 is described below

commit 1dfb4b77e8720453961b48246461e13295baf216
Author: Mark Thomas 
AuthorDate: Thu Mar 23 13:59:27 2023 +

Reformat comment so format is retained when auto-formatting
---
 java/org/apache/catalina/webresources/CachedResource.java | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/java/org/apache/catalina/webresources/CachedResource.java 
b/java/org/apache/catalina/webresources/CachedResource.java
index 55639a816f..07f479e062 100644
--- a/java/org/apache/catalina/webresources/CachedResource.java
+++ b/java/org/apache/catalina/webresources/CachedResource.java
@@ -316,10 +316,14 @@ public class CachedResource implements WebResource {
 /*
  * We don't want applications using this URL to access the resource 
directly as that could lead to inconsistent
  * results when the resource is updated on the file system but the 
cache entry has not yet expired. We saw this,
- * for example, in JSP compilation. - last modified time was obtained 
via
- * 
ServletContext.getResource("path").openConnection().getLastModified() - JSP 
content was obtained via
- * ServletContext.getResourceAsStream("path") The result was that the 
JSP modification was detected but the JSP
- * content was read from the cache so the non-updated JSP page was 
used to generate the .java and .class file
+ * for example, in JSP compilation.
+ *
+ * - last modified time was obtained via 
ServletContext.getResource("path").openConnection().getLastModified()
+ *
+ * - JSP content was obtained via 
ServletContext.getResourceAsStream("path")
+ *
+ * The result was that the JSP modification was detected but the JSP 
content was read from the cache so the
+ * non-updated JSP page was used to generate the .java and .class file
  *
  * One option to resolve this issue is to use a custom URL scheme for 
resource URLs. This would allow us, via
  * registration of a URLStreamHandlerFactory, to control how the 
resources are accessed and ensure that all


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



[tomcat] branch main updated: Fix bug in RFC 7616 updates identified by SpotBugs

2023-03-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 1ff01ceca8 Fix bug in RFC 7616 updates identified by SpotBugs
1ff01ceca8 is described below

commit 1ff01ceca8e1d595d9973882df0b81ed11cf7b70
Author: Mark Thomas 
AuthorDate: Thu Mar 23 14:26:19 2023 +

Fix bug in RFC 7616 updates identified by SpotBugs
---
 java/org/apache/catalina/realm/JAASMemoryLoginModule.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java 
b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
index 75f3677d99..0c2c6aa5e6 100644
--- a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
+++ b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
@@ -239,7 +239,7 @@ public class JAASMemoryLoginModule extends MemoryRealm 
implements LoginModule {
 if (callbackHandler == null) {
 throw new 
LoginException(sm.getString("jaasMemoryLoginModule.noCallbackHandler"));
 }
-Callback callbacks[] = new Callback[9];
+Callback callbacks[] = new Callback[10];
 callbacks[0] = new NameCallback("Username: ");
 callbacks[1] = new PasswordCallback("Password: ", false);
 callbacks[2] = new TextInputCallback("nonce");


-
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: Fix bug in RFC 7616 updates identified by SpotBugs

2023-03-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 b9d3b397cd Fix bug in RFC 7616 updates identified by SpotBugs
b9d3b397cd is described below

commit b9d3b397cde152b3148107edb68754ce4402b9ef
Author: Mark Thomas 
AuthorDate: Thu Mar 23 14:26:19 2023 +

Fix bug in RFC 7616 updates identified by SpotBugs
---
 java/org/apache/catalina/realm/JAASMemoryLoginModule.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java 
b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
index 75f3677d99..0c2c6aa5e6 100644
--- a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
+++ b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
@@ -239,7 +239,7 @@ public class JAASMemoryLoginModule extends MemoryRealm 
implements LoginModule {
 if (callbackHandler == null) {
 throw new 
LoginException(sm.getString("jaasMemoryLoginModule.noCallbackHandler"));
 }
-Callback callbacks[] = new Callback[9];
+Callback callbacks[] = new Callback[10];
 callbacks[0] = new NameCallback("Username: ");
 callbacks[1] = new PasswordCallback("Password: ", false);
 callbacks[2] = new TextInputCallback("nonce");


-
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 bug in RFC 7616 updates identified by SpotBugs

2023-03-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 7fc0c90b69 Fix bug in RFC 7616 updates identified by SpotBugs
7fc0c90b69 is described below

commit 7fc0c90b69cf3b1afc76d1856194e38ad491484b
Author: Mark Thomas 
AuthorDate: Thu Mar 23 14:26:19 2023 +

Fix bug in RFC 7616 updates identified by SpotBugs
---
 java/org/apache/catalina/realm/JAASMemoryLoginModule.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java 
b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
index 35d35ce534..94a4078f40 100644
--- a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
+++ b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
@@ -238,7 +238,7 @@ public class JAASMemoryLoginModule extends MemoryRealm 
implements LoginModule {
 if (callbackHandler == null) {
 throw new 
LoginException(sm.getString("jaasMemoryLoginModule.noCallbackHandler"));
 }
-Callback callbacks[] = new Callback[9];
+Callback callbacks[] = new Callback[10];
 callbacks[0] = new NameCallback("Username: ");
 callbacks[1] = new PasswordCallback("Password: ", false);
 callbacks[2] = new TextInputCallback("nonce");


-
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 bug in RFC 7616 updates identified by SpotBugs

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

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


The following commit(s) were added to refs/heads/8.5.x by this push:
 new a8a72de1a3 Fix bug in RFC 7616 updates identified by SpotBugs
a8a72de1a3 is described below

commit a8a72de1a32b0f8d38835a39a513390340766cfd
Author: Mark Thomas 
AuthorDate: Thu Mar 23 14:26:19 2023 +

Fix bug in RFC 7616 updates identified by SpotBugs
---
 java/org/apache/catalina/realm/JAASMemoryLoginModule.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java 
b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
index a10956018e..5ede590c04 100644
--- a/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
+++ b/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
@@ -238,7 +238,7 @@ public class JAASMemoryLoginModule extends MemoryRealm 
implements LoginModule {
 if (callbackHandler == null) {
 throw new LoginException("No CallbackHandler specified");
 }
-Callback callbacks[] = new Callback[9];
+Callback callbacks[] = new Callback[10];
 callbacks[0] = new NameCallback("Username: ");
 callbacks[1] = new PasswordCallback("Password: ", false);
 callbacks[2] = new TextInputCallback("nonce");


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



[tomcat] branch main updated: Fix typo

2023-03-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 6416c67ec5 Fix typo
6416c67ec5 is described below

commit 6416c67ec5e55c265782723484e9dd958e027c7f
Author: Mark Thomas 
AuthorDate: Thu Mar 23 14:38:13 2023 +

Fix typo
---
 webapps/docs/config/cluster-deployer.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/config/cluster-deployer.xml 
b/webapps/docs/config/cluster-deployer.xml
index f956e46fbc..247948721f 100644
--- a/webapps/docs/config/cluster-deployer.xml
+++ b/webapps/docs/config/cluster-deployer.xml
@@ -84,7 +84,7 @@
 attribute will have no effect.
   
   
-FileMessageFactory instances used by the FarmWarDeployer are  only
+FileMessageFactory instances used by the FarmWarDeployer are only
 retained while they are required. When receiving a WAR file, the
 associated FileMessageFactory instance is deleted once the WAR file has
 been fully received. To avoid memory leaks under various error
@@ -94,7 +94,7 @@
 maximum time is exceeded, the FileMessageFactory will be deleted and 
the
 WAR file transfer will fail for that node. If a negative value is
 specified, the FileMessageFactory will only be removed once the WAR 
file
-is fully recieved. If not specified, the default value of 300 (5
+is fully received. If not specified, the default value of 300 (5
 minutes) will be used.
   
 


-
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: Fix typo

2023-03-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 2fc07c32d1 Fix typo
2fc07c32d1 is described below

commit 2fc07c32d170e3826f25f107c37fb6b87bfc50f2
Author: Mark Thomas 
AuthorDate: Thu Mar 23 14:38:13 2023 +

Fix typo
---
 webapps/docs/config/cluster-deployer.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/config/cluster-deployer.xml 
b/webapps/docs/config/cluster-deployer.xml
index f956e46fbc..247948721f 100644
--- a/webapps/docs/config/cluster-deployer.xml
+++ b/webapps/docs/config/cluster-deployer.xml
@@ -84,7 +84,7 @@
 attribute will have no effect.
   
   
-FileMessageFactory instances used by the FarmWarDeployer are  only
+FileMessageFactory instances used by the FarmWarDeployer are only
 retained while they are required. When receiving a WAR file, the
 associated FileMessageFactory instance is deleted once the WAR file has
 been fully received. To avoid memory leaks under various error
@@ -94,7 +94,7 @@
 maximum time is exceeded, the FileMessageFactory will be deleted and 
the
 WAR file transfer will fail for that node. If a negative value is
 specified, the FileMessageFactory will only be removed once the WAR 
file
-is fully recieved. If not specified, the default value of 300 (5
+is fully received. If not specified, the default value of 300 (5
 minutes) will be used.
   
 


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

2023-03-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 30ac25abcf Fix typo
30ac25abcf is described below

commit 30ac25abcf6ce457fc7eea02d67cfb48376f04b4
Author: Mark Thomas 
AuthorDate: Thu Mar 23 14:38:13 2023 +

Fix typo
---
 webapps/docs/config/cluster-deployer.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/config/cluster-deployer.xml 
b/webapps/docs/config/cluster-deployer.xml
index f956e46fbc..247948721f 100644
--- a/webapps/docs/config/cluster-deployer.xml
+++ b/webapps/docs/config/cluster-deployer.xml
@@ -84,7 +84,7 @@
 attribute will have no effect.
   
   
-FileMessageFactory instances used by the FarmWarDeployer are  only
+FileMessageFactory instances used by the FarmWarDeployer are only
 retained while they are required. When receiving a WAR file, the
 associated FileMessageFactory instance is deleted once the WAR file has
 been fully received. To avoid memory leaks under various error
@@ -94,7 +94,7 @@
 maximum time is exceeded, the FileMessageFactory will be deleted and 
the
 WAR file transfer will fail for that node. If a negative value is
 specified, the FileMessageFactory will only be removed once the WAR 
file
-is fully recieved. If not specified, the default value of 300 (5
+is fully received. If not specified, the default value of 300 (5
 minutes) will be used.
   
 


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

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

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


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

commit 0e083ae4745a68504e8ec128674a4d0d937ca026
Author: Mark Thomas 
AuthorDate: Thu Mar 23 14:38:13 2023 +

Fix typo
---
 webapps/docs/config/cluster-deployer.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/config/cluster-deployer.xml 
b/webapps/docs/config/cluster-deployer.xml
index f956e46fbc..247948721f 100644
--- a/webapps/docs/config/cluster-deployer.xml
+++ b/webapps/docs/config/cluster-deployer.xml
@@ -84,7 +84,7 @@
 attribute will have no effect.
   
   
-FileMessageFactory instances used by the FarmWarDeployer are  only
+FileMessageFactory instances used by the FarmWarDeployer are only
 retained while they are required. When receiving a WAR file, the
 associated FileMessageFactory instance is deleted once the WAR file has
 been fully received. To avoid memory leaks under various error
@@ -94,7 +94,7 @@
 maximum time is exceeded, the FileMessageFactory will be deleted and 
the
 WAR file transfer will fail for that node. If a negative value is
 specified, the FileMessageFactory will only be removed once the WAR 
file
-is fully recieved. If not specified, the default value of 300 (5
+is fully received. If not specified, the default value of 300 (5
 minutes) will be used.
   
 


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



[tomcat] branch main updated: Fix BZ 66541 - Improve handling of URLs for cached resources

2023-03-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 1997d2f62e Fix BZ 66541 - Improve handling of URLs for cached resources
1997d2f62e is described below

commit 1997d2f62eb87db7c81e0136862cef4ca31c4fe5
Author: Mark Thomas 
AuthorDate: Thu Mar 23 14:50:17 2023 +

Fix BZ 66541 - Improve handling of URLs for cached resources

Improve handling for cached resources for resources that use custom URL
schemes. The scheme specific equals() and hashcode() algorithms, if
present, will now be used for URLs for these resources. This addresses a
potential performance issue with some OSGi custom URL schemes that can
trigger potentially slow DNS lookups in some configurations.
---
 .../catalina/webresources/CachedResource.java  | 34 ++
 res/spotbugs/filter-false-positives.xml|  9 ++
 webapps/docs/changelog.xml |  8 +
 3 files changed, 51 insertions(+)

diff --git a/java/org/apache/catalina/webresources/CachedResource.java 
b/java/org/apache/catalina/webresources/CachedResource.java
index 80937068dc..8cd119752a 100644
--- a/java/org/apache/catalina/webresources/CachedResource.java
+++ b/java/org/apache/catalina/webresources/CachedResource.java
@@ -456,6 +456,40 @@ public class CachedResource implements WebResource {
 return constructedURL.openConnection();
 }
 }
+
+/**
+ * {@inheritDoc}
+ * 
+ * We don't know what the requirements are for equals for the wrapped 
resourceURL so if u1 is the wrapped
+ * resourceURL, delegate to the resourceURL and it's handler. 
Otherwise, use the default implementation from
+ * URLStreamHandler.
+ */
+@Override
+protected boolean equals(URL u1, URL u2) {
+// Deliberate use of ==
+if (resourceURL == u1) {
+return resourceURL.equals(u2);
+}
+// Not the original resourceURL. Use the default implementation 
from URLStreamHandler.
+return super.equals(u1, u2);
+}
+
+/**
+ * {@inheritDoc}
+ * 
+ * We don't know what the requirements are for hashcode for the 
wrapped resourceURL so if u1 is the wrapped
+ * resourceURL, delegate to the resourceURL and it's handler. 
Otherwise, use the default implementation from
+ * URLStreamHandler.
+ */
+@Override
+protected int hashCode(URL u) {
+// Deliberate use of ==
+if (resourceURL == u) {
+return resourceURL.hashCode();
+}
+// Not the original resourceURL. Use the default implementation 
from URLStreamHandler.
+return super.hashCode(u);
+}
 }
 
 
diff --git a/res/spotbugs/filter-false-positives.xml 
b/res/spotbugs/filter-false-positives.xml
index 7febcbb7bf..b9c6f0b7cc 100644
--- a/res/spotbugs/filter-false-positives.xml
+++ b/res/spotbugs/filter-false-positives.xml
@@ -886,6 +886,15 @@
 
 
   
+  
+
+
+
+  
+  
+
+
+  
   
 
 
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index a33c5beae6..f6b86f7021 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -166,6 +166,14 @@
 This aligns with the current draft of the Servlet 6.1 specification.
 (markt)
   
+  
+66541: Improve handling for cached resources for resources
+that use custom URL schemes. The scheme specific equals()
+and hashcode() algorithms, if present, will now be used 
for
+URLs for these resources. This addresses a potential performance issue
+with some OSGi custom URL schemes that can trigger potentially slow DNS
+lookups in some configurations. (markt)
+  
 
   
   


-
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: Fix BZ 66541 - Improve handling of URLs for cached resources

2023-03-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 4b2d8d7045 Fix BZ 66541 - Improve handling of URLs for cached resources
4b2d8d7045 is described below

commit 4b2d8d70454980687d36aff1b6a0353d005f5c8d
Author: Mark Thomas 
AuthorDate: Thu Mar 23 14:50:17 2023 +

Fix BZ 66541 - Improve handling of URLs for cached resources

Improve handling for cached resources for resources that use custom URL
schemes. The scheme specific equals() and hashcode() algorithms, if
present, will now be used for URLs for these resources. This addresses a
potential performance issue with some OSGi custom URL schemes that can
trigger potentially slow DNS lookups in some configurations.
---
 .../catalina/webresources/CachedResource.java  | 34 ++
 res/spotbugs/filter-false-positives.xml|  9 ++
 webapps/docs/changelog.xml |  8 +
 3 files changed, 51 insertions(+)

diff --git a/java/org/apache/catalina/webresources/CachedResource.java 
b/java/org/apache/catalina/webresources/CachedResource.java
index 07f479e062..f4894c7172 100644
--- a/java/org/apache/catalina/webresources/CachedResource.java
+++ b/java/org/apache/catalina/webresources/CachedResource.java
@@ -461,6 +461,40 @@ public class CachedResource implements WebResource {
 return constructedURL.openConnection();
 }
 }
+
+/**
+ * {@inheritDoc}
+ * 
+ * We don't know what the requirements are for equals for the wrapped 
resourceURL so if u1 is the wrapped
+ * resourceURL, delegate to the resourceURL and it's handler. 
Otherwise, use the default implementation from
+ * URLStreamHandler.
+ */
+@Override
+protected boolean equals(URL u1, URL u2) {
+// Deliberate use of ==
+if (resourceURL == u1) {
+return resourceURL.equals(u2);
+}
+// Not the original resourceURL. Use the default implementation 
from URLStreamHandler.
+return super.equals(u1, u2);
+}
+
+/**
+ * {@inheritDoc}
+ * 
+ * We don't know what the requirements are for hashcode for the 
wrapped resourceURL so if u1 is the wrapped
+ * resourceURL, delegate to the resourceURL and it's handler. 
Otherwise, use the default implementation from
+ * URLStreamHandler.
+ */
+@Override
+protected int hashCode(URL u) {
+// Deliberate use of ==
+if (resourceURL == u) {
+return resourceURL.hashCode();
+}
+// Not the original resourceURL. Use the default implementation 
from URLStreamHandler.
+return super.hashCode(u);
+}
 }
 
 
diff --git a/res/spotbugs/filter-false-positives.xml 
b/res/spotbugs/filter-false-positives.xml
index 34d05bf62d..92f17fbe23 100644
--- a/res/spotbugs/filter-false-positives.xml
+++ b/res/spotbugs/filter-false-positives.xml
@@ -886,6 +886,15 @@
 
 
   
+  
+
+
+
+  
+  
+
+
+  
   
 
 
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 51039b7e2f..ac14b072c3 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -151,6 +151,14 @@
 be skipped when generating a response to a TRACE request.
 This aligns with 11.0.x. (markt)
   
+  
+66541: Improve handling for cached resources for resources
+that use custom URL schemes. The scheme specific equals()
+and hashcode() algorithms, if present, will now be used 
for
+URLs for these resources. This addresses a potential performance issue
+with some OSGi custom URL schemes that can trigger potentially slow DNS
+lookups in some configurations. (markt)
+  
 
   
   


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



[tomcat] branch 9.0.x updated: Fix BZ 66541 - Improve handling of URLs for cached resources

2023-03-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 01e8f9ce36 Fix BZ 66541 - Improve handling of URLs for cached resources
01e8f9ce36 is described below

commit 01e8f9ce36dee1e7cf0aa28e94427f2967a24138
Author: Mark Thomas 
AuthorDate: Thu Mar 23 14:50:17 2023 +

Fix BZ 66541 - Improve handling of URLs for cached resources

Improve handling for cached resources for resources that use custom URL
schemes. The scheme specific equals() and hashcode() algorithms, if
present, will now be used for URLs for these resources. This addresses a
potential performance issue with some OSGi custom URL schemes that can
trigger potentially slow DNS lookups in some configurations.
---
 .../catalina/webresources/CachedResource.java  | 34 ++
 res/spotbugs/filter-false-positives.xml|  9 ++
 webapps/docs/changelog.xml |  8 +
 3 files changed, 51 insertions(+)

diff --git a/java/org/apache/catalina/webresources/CachedResource.java 
b/java/org/apache/catalina/webresources/CachedResource.java
index 07f479e062..f4894c7172 100644
--- a/java/org/apache/catalina/webresources/CachedResource.java
+++ b/java/org/apache/catalina/webresources/CachedResource.java
@@ -461,6 +461,40 @@ public class CachedResource implements WebResource {
 return constructedURL.openConnection();
 }
 }
+
+/**
+ * {@inheritDoc}
+ * 
+ * We don't know what the requirements are for equals for the wrapped 
resourceURL so if u1 is the wrapped
+ * resourceURL, delegate to the resourceURL and it's handler. 
Otherwise, use the default implementation from
+ * URLStreamHandler.
+ */
+@Override
+protected boolean equals(URL u1, URL u2) {
+// Deliberate use of ==
+if (resourceURL == u1) {
+return resourceURL.equals(u2);
+}
+// Not the original resourceURL. Use the default implementation 
from URLStreamHandler.
+return super.equals(u1, u2);
+}
+
+/**
+ * {@inheritDoc}
+ * 
+ * We don't know what the requirements are for hashcode for the 
wrapped resourceURL so if u1 is the wrapped
+ * resourceURL, delegate to the resourceURL and it's handler. 
Otherwise, use the default implementation from
+ * URLStreamHandler.
+ */
+@Override
+protected int hashCode(URL u) {
+// Deliberate use of ==
+if (resourceURL == u) {
+return resourceURL.hashCode();
+}
+// Not the original resourceURL. Use the default implementation 
from URLStreamHandler.
+return super.hashCode(u);
+}
 }
 
 
diff --git a/res/spotbugs/filter-false-positives.xml 
b/res/spotbugs/filter-false-positives.xml
index 2c0bea1d7b..96a4bfcc69 100644
--- a/res/spotbugs/filter-false-positives.xml
+++ b/res/spotbugs/filter-false-positives.xml
@@ -914,6 +914,15 @@
 
 
   
+  
+
+
+
+  
+  
+
+
+  
   
 
 
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 57bc93bfcd..0a64a52983 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -151,6 +151,14 @@
 be skipped when generating a response to a TRACE request.
 This aligns with 11.0.x. (markt)
   
+  
+66541: Improve handling for cached resources for resources
+that use custom URL schemes. The scheme specific equals()
+and hashcode() algorithms, if present, will now be used 
for
+URLs for these resources. This addresses a potential performance issue
+with some OSGi custom URL schemes that can trigger potentially slow DNS
+lookups in some configurations. (markt)
+  
 
   
   


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



[tomcat] branch 8.5.x updated: Fix BZ 66541 - Improve handling of URLs for cached resources

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

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


The following commit(s) were added to refs/heads/8.5.x by this push:
 new 5f653b1bad Fix BZ 66541 - Improve handling of URLs for cached resources
5f653b1bad is described below

commit 5f653b1bad0d64b5ed3efe7bb41a28da952fe5ad
Author: Mark Thomas 
AuthorDate: Thu Mar 23 14:50:17 2023 +

Fix BZ 66541 - Improve handling of URLs for cached resources

Improve handling for cached resources for resources that use custom URL
schemes. The scheme specific equals() and hashcode() algorithms, if
present, will now be used for URLs for these resources. This addresses a
potential performance issue with some OSGi custom URL schemes that can
trigger potentially slow DNS lookups in some configurations.
---
 .../catalina/webresources/CachedResource.java  | 34 ++
 res/spotbugs/filter-false-positives.xml|  9 ++
 webapps/docs/changelog.xml |  8 +
 3 files changed, 51 insertions(+)

diff --git a/java/org/apache/catalina/webresources/CachedResource.java 
b/java/org/apache/catalina/webresources/CachedResource.java
index 07f479e062..f4894c7172 100644
--- a/java/org/apache/catalina/webresources/CachedResource.java
+++ b/java/org/apache/catalina/webresources/CachedResource.java
@@ -461,6 +461,40 @@ public class CachedResource implements WebResource {
 return constructedURL.openConnection();
 }
 }
+
+/**
+ * {@inheritDoc}
+ * 
+ * We don't know what the requirements are for equals for the wrapped 
resourceURL so if u1 is the wrapped
+ * resourceURL, delegate to the resourceURL and it's handler. 
Otherwise, use the default implementation from
+ * URLStreamHandler.
+ */
+@Override
+protected boolean equals(URL u1, URL u2) {
+// Deliberate use of ==
+if (resourceURL == u1) {
+return resourceURL.equals(u2);
+}
+// Not the original resourceURL. Use the default implementation 
from URLStreamHandler.
+return super.equals(u1, u2);
+}
+
+/**
+ * {@inheritDoc}
+ * 
+ * We don't know what the requirements are for hashcode for the 
wrapped resourceURL so if u1 is the wrapped
+ * resourceURL, delegate to the resourceURL and it's handler. 
Otherwise, use the default implementation from
+ * URLStreamHandler.
+ */
+@Override
+protected int hashCode(URL u) {
+// Deliberate use of ==
+if (resourceURL == u) {
+return resourceURL.hashCode();
+}
+// Not the original resourceURL. Use the default implementation 
from URLStreamHandler.
+return super.hashCode(u);
+}
 }
 
 
diff --git a/res/spotbugs/filter-false-positives.xml 
b/res/spotbugs/filter-false-positives.xml
index dfb6b186d9..3e8629aac4 100644
--- a/res/spotbugs/filter-false-positives.xml
+++ b/res/spotbugs/filter-false-positives.xml
@@ -883,6 +883,15 @@
 
 
   
+  
+
+
+
+  
+  
+
+
+  
   
 
 
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 10ab299e6c..afab168f00 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -146,6 +146,14 @@
 Add support code for custom user attributes in RealmBase.
 Based on code from 473 by Carsten Klein. (remm)
   
+  
+66541: Improve handling for cached resources for resources
+that use custom URL schemes. The scheme specific equals()
+and hashcode() algorithms, if present, will now be used 
for
+URLs for these resources. This addresses a potential performance issue
+with some OSGi custom URL schemes that can trigger potentially slow DNS
+lookups in some configurations. (markt)
+  
 
   
   


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



[Bug 66541] CachedResource for OSGi URL resources changes URL hashing behavior & exacerbates DNS issues

2023-03-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=66541

Mark Thomas  changed:

   What|Removed |Added

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

--- Comment #2 from Mark Thomas  ---
Thanks for the detailed explanation. That makes sense. I've applied a fix that
should address the performance issue.

Fixed in:
- 11.0.x for 11.0.0-M5 onwards
- 10.1.x for 10.1.8 onwards
-  9.0.x for  9.0.74 onwards
-  8.5.x for  8.5.88 onwards

If you want to test the fix and provide feedback before the next release, I
have provided a dev build here:

https://people.apache.org/~markt/dev/v8.5.88-dev/

Usual caveats apply for a dev build: It isn't an official release so use it at
your own risk.

-- 
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: Need to reference inner class

2023-03-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 07cccd3db8 Need to reference inner class
07cccd3db8 is described below

commit 07cccd3db835dc7c590b5f9430bf72d4e3fa9838
Author: Mark Thomas 
AuthorDate: Thu Mar 23 15:19:33 2023 +

Need to reference inner class
---
 res/spotbugs/filter-false-positives.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/res/spotbugs/filter-false-positives.xml 
b/res/spotbugs/filter-false-positives.xml
index b9c6f0b7cc..ac59de62b1 100644
--- a/res/spotbugs/filter-false-positives.xml
+++ b/res/spotbugs/filter-false-positives.xml
@@ -888,7 +888,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: Need to reference inner class

2023-03-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 5cf4a68b8f Need to reference inner class
5cf4a68b8f is described below

commit 5cf4a68b8fbe7eff71af88e513370821c085cd93
Author: Mark Thomas 
AuthorDate: Thu Mar 23 15:19:33 2023 +

Need to reference inner class
---
 res/spotbugs/filter-false-positives.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/res/spotbugs/filter-false-positives.xml 
b/res/spotbugs/filter-false-positives.xml
index 92f17fbe23..b4803fa483 100644
--- a/res/spotbugs/filter-false-positives.xml
+++ b/res/spotbugs/filter-false-positives.xml
@@ -888,7 +888,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: Need to reference inner class

2023-03-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 1ebe045220 Need to reference inner class
1ebe045220 is described below

commit 1ebe0452207ad148ffb6917dd54adfc9d331cd7a
Author: Mark Thomas 
AuthorDate: Thu Mar 23 15:19:33 2023 +

Need to reference inner class
---
 res/spotbugs/filter-false-positives.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/res/spotbugs/filter-false-positives.xml 
b/res/spotbugs/filter-false-positives.xml
index 96a4bfcc69..90429a9ec2 100644
--- a/res/spotbugs/filter-false-positives.xml
+++ b/res/spotbugs/filter-false-positives.xml
@@ -916,7 +916,7 @@
   
   
 
-
+
 
   
   


-
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: Need to reference inner class

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

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


The following commit(s) were added to refs/heads/8.5.x by this push:
 new 259f2aa5f0 Need to reference inner class
259f2aa5f0 is described below

commit 259f2aa5f037a540fda4a48da48c6d06a8ebfd70
Author: Mark Thomas 
AuthorDate: Thu Mar 23 15:19:33 2023 +

Need to reference inner class
---
 res/spotbugs/filter-false-positives.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/res/spotbugs/filter-false-positives.xml 
b/res/spotbugs/filter-false-positives.xml
index 3e8629aac4..7832325647 100644
--- a/res/spotbugs/filter-false-positives.xml
+++ b/res/spotbugs/filter-false-positives.xml
@@ -885,7 +885,7 @@
   
   
 
-
+
 
   
   


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



Re: Reduce default for maxParameterCount

2023-03-23 Thread Mark Thomas

On 23/03/2023 12:02, Konstantin Kolinko wrote:

Thanks for the continued feedback. Having someone to bounce ideas off is 
really helpful.



ср, 22 мар. 2023 г. в 14:38, Mark Thomas :


Any more thoughts on this?



1. If we cannot agree on the required behaviour, it is one more reason
to make it configurable.


I think you are right. I have proposed a new 
RequestParameterErrorListener over at 
https://github.com/jakartaee/servlet/issues/431


The details aren't defined yet. I'm just looking for consensus on the 
general approach at this point.



As I said, it would be more useful to configure it at a Context.


Agreed.



2. Regarding the default behaviour,

Throwing an exception was also my first thought,
and it seems more natural.


Valid cases are being made for both throwing an exception and ignoring 
the error. Which is what makes this so tricky.


I'm thinking default to current behaviour but with simple options on the 
context to change to other approaches.



Regarding implementation, I thought that in
org.apache.catalina.connector.Request all lines

 if (!parametersParsed) {
 parseParameters();
 }
could be amended with "if (parseFailed) throw new
IllegalStateException(parseFailedReason)", or maybe put this "throw"
into parseParameters().

BTW, Spring Framework has a feature that routing of requests can be
configured with annotations.
https://docs.spring.io/spring-framework/docs/5.3.25/reference/html/web.html#mvc-ann-requestmapping-params-and-headers

In this case parameters parsing is hidden from the caller (done by
framework), and also a Request may be omitted from method signature
(so one wouldn't check its attributes to check for failed parsing). In
this case it makes sense to throw an exception to report a failure.


Agreed.


3. Regarding UserDataHelper,

1) If we rely on it, it means being too late.

At the time one considers reading the logs, data loss has already happened.

2) If you look at my mail regarding code paths (7th email in this thread),
if I have read the code correctly, I think that in case of

"d) Request.getParameter() was called, and request was  "multipart/form-data"."

there is no logging.


That probably needs fixing.


4. Regarding the value for maxParameterCount

500 parameters may mean 100 rows of 5 values each;
100 rows may mean daily values for 3 months.

1000 parameters may mean a year of daily data with 3 values each day.
It is not what one would frequently see in practice, but it could happen.



There hasn't been much movement from the spec EG on this, so my current
thinking is to revert this change for 10.1.x and earlier to wait and see
what the Servlet EG decides.


I'm still leaning in this direction at the moment.


5. If someone is thinking about improved API,

a) I wonder whether ExtendedAccessLogValve calling of getParameter()
could be improved,
so that it does not trigger parameter parsing that includes reading
the body of a POST.

Or maybe do reading, but with a lower timeout. Essentially in the same
way as when skipping a body of a failed request.

It is not a job for an AccessLogValve to spend time on parameter parsing.

b) I wonder whether parameter parsing could be done asynchronously.


I have seen feature requests along those lines. async is going to 
complicate error handling. But the error listener may help here.


Mark

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



Re: Reduce default for maxParameterCount

2023-03-23 Thread Christopher Schultz

Mark,

On 3/22/23 07:38, Mark Thomas wrote:

Any more thoughts on this?

There hasn't been much movement from the spec EG on this, so my current 
thinking is to revert this change for 10.1.x and earlier to wait and see 
what the Servlet EG decides.


I'd like to leave our changes in, but I understand that Konstantin has a 
good point about silently discarding parameters.


There is no particular reason not to implement option (c) (throw 
RuntimeException if the maximum number of parameters is exceeded). 
Anyone affected by it can change the setting, and an appropriate error 
message can direct operators to that setting to make it easy.


-chris


On 15/03/2023 15:05, Mark Thomas wrote:

On 15/03/2023 11:22, Konstantin Kolinko wrote:
ср, 15 мар. 2023 г. в 13:29, Konstantin Kolinko 
:
ср, 15 мар. 2023 г. в 13:15, Konstantin Kolinko 
:

ср, 15 мар. 2023 г. в 12:07, Mark Thomas :

On 14/03/2023 21:13, Christopher Schultz wrote:

On 3/14/23 13:57, Mark Thomas wrote:

On 09/03/2023 14:23, Christopher Schultz wrote:


I would go for a 1000 limit for all currently-supported versions. 
It's

*very* easy to raise the limit if it interferes with a specific
application's functions.

I *would* add an entry in the "notable changes" for each release 
e.g.

https://tomcat.apache.org/migration-10.1.html#Tomcat_10.1.x_noteable_changes


Makes sense.

I'll do that.


-1 unless the behaviour of "silently dropping extra parameters" is
changed as well.

Silent loss of data is not what I want to see in production.


Fair point. Although I'll note that that is exactly what happens if 
the current limit is exceeded. I accept that, by lowering the limit, 
it is now more likely that limit will be exceeded. How much more 
likely I don't know and I don't think we have any reasonable way to 
determine.


Also, the failure isn't completely silent. There will be an INFO log 
message the first time it happens in a 24 hour period.





Proposals:

1. I think that maxParameterCount would better be configured 
per-Context.


The count of parameters is a property of a specific web application.


Makes sense. As an migration path for 10.1.x, 9.0.x and 8.5.x, do we 
want to make the Connector attribute the default to be used if a value 
is not explicitly set on the Context? That makes the new feature 
backwards compatible. We can remove the Connector setting in 11.0.x.



2. I wonder if we can make handling of the errors configurable.

I think that the following options are possible:

a) Drop parameters that exceeded the limit, or failed to decode.


This is what we do now.


b) If there is any error, ignore all parameters and behave as if none
were provided.


I'm wary of doing anything that will cause currently working 
applications to start breaking.



c) Blow up by throwing a RuntimeException for any call to
Request.getParameter() methods.

It may be an IllegalStateException.


This topic (error handling in parameters) is currently under 
discussion in the Servlet EG 
(https://github.com/jakartaee/servlet/issues/431). That discussion 
isn't particularly active but it is one of the current servlet issues 
on my TODO list so there will hopefully be some progress.




My first thought was to go with c). I know that it contradicts with
Servlet API JavaDoc, but if it is configurable then it is a possible
option. I suppose that a web application should have error handling
configured and should be able to deal with errors.

If we go with c), it requires adding try/catch to safeguard
getParameter() calls in the following classes of Tomcat:

- org.apache.catalina.filters.FailedRequestFilter
- org.apache.catalina.valves.ExtendedAccessLogValve

(The ExtendedAccessLogValve can be configured to log the value of a 
parameter.)


3. I propose to change the default behaviour to b), "ignoring all 
parameters".


The loss of data will be clearly visible to the applications. It would
not go unnoted.


In an ideal world, the Servlet spec would have opted for c) from the 
start.


I wonder if it might not be better to revert this change for 10.1.x 
and earlier until the Servlet EG resolves #431 and then reconsider our 
options with (potentially) a new default behaviour in 11.0.x.


If we don't revert then, of the current options:

My concern with both b) and c) is that they could break applications 
that currently work. I don't like doing that if we don't have to in a 
point release.


That leaves a). My main concern with a) is how to raise visibility of 
exceeding the limit. What if we changed the way UserDataHelper works 
(or introduced something new) that limited the number of log messages 
per period and thereby avoided the DoS risk via excessive logging but 
still generated enough log messages to raise awareness of the issue.


Mark

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



-

[Bug 66508] Tomcat after a GC pause causes the HTTP threads to be blocked to acquire a semaphore to process WebSockets connection closure.

2023-03-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=66508

--- Comment #17 from Venkata Manda  ---
Excuse me for the delayed response. Please find below our connector
configuration:

protocol=org.apache.coyote.http11.Http11Nio2Protocol
tomcat.connector.all.enableLookups=false
tomcat.connector.all.URIEncoding=ISO-8859-1
tomcat.connector.all.connectionTimeout=2
tomcat.connector.all.disableUploadTimeout=true
tomcat.connector.main.redirectPort=8443
tomcat.connector.main.maxThreads=50
tomcat.connector.main.minSpareThreads=50
tomcat.connector.main.acceptCount=500
tomcat.connector.main.maxConnections=1
tomcat.connector.main.relaxedQueryChars="<>[\]^{|}
tomcat.connector.main.relaxedPathChars="<>[\\]^{|}
tomcat.connector.secure.port=8443
tomcat.connector.secure.scheme=https
tomcat.connector.secure.secure=true
tomcat.connector.secure.SSLEnabled=true
tomcat.connector.secure.clientAuth=want
tomcat.connector.secure.sslProtocol=TLS
tomcat.connector.secure.algorithm=X509
org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true
org.apache.catalina.connector.RECYCLE_FACADES=true



I am still working on sharing the stack trace that matches the source code of
the publicly available tomcat version. I added a lot of log statements to get a
better idea of the issue due to this the line numbers I see on my internal
version may not match with the public version.


Thanks.

-- 
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 66542] New: JavaMail specification links are outdated in documentation

2023-03-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=66542

Bug ID: 66542
   Summary: JavaMail specification links are outdated in
documentation
   Product: Tomcat 10
   Version: 10.1.7
  Hardware: PC
Status: NEW
  Severity: normal
  Priority: P2
 Component: Documentation
  Assignee: dev@tomcat.apache.org
  Reporter: knst.koli...@gmail.com
  Target Milestone: --

At 
https://tomcat.apache.org/tomcat-10.1-doc/jndi-resources-howto.html#JavaMail_Sessions

Looking at "JNDI Resources How-To" document of Tomcat 10.1.7, at its section
titled "JavaMail Sessions".

This section was updated to use a Jakarta EE package name (using
"jakarta.mail.Session" etc.), but links reference old Java EE implementation of
the API.


1. At "0. Introduction" 

"The Java Mail API" links to
http://www.oracle.com/technetwork/java/javamail/index.html

2. At "4. Install the JavaMail libraries"

"Download the JavaMail API." links to http://javamail.java.net/  that redirects
to "https://javaee.github.io/javamail/";. A footer on that web site says "This
project is now part of the EE4J initiative; its activity is temporarily paused
until it has been effectively transferred to the Eclipse Foundation.".


I think that the relevant specification is here:

https://jakarta.ee/specifications/mail/

Not tested.

-- 
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 66542] JavaMail specification links are outdated in documentation

2023-03-23 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=66542

Konstantin Kolinko  changed:

   What|Removed |Added

 OS||All

--- Comment #1 from Konstantin Kolinko  ---
> https://jakarta.ee/specifications/mail/

Note that a Jakarta EE specification is just an API. One needs an
implementation of the spec.


The "Jakarta Mail 2.1" specification page references the following project as a
"Compatible Implementation":

https://github.com/eclipse-ee4j/angus-mail
Eclipse Angus - Mail

(There may be other compatible implementations as well, not listed at the
specification page.)

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



Getting listed under "Compatible Implementations" at Jakarta EE

2023-03-23 Thread Konstantin Kolinko
Hi!

Looking at the following specifications

https://jakarta.ee/specifications/servlet/6.0/
https://jakarta.ee/specifications/pages/3.1/
https://jakarta.ee/specifications/expression-language/5.0/
https://jakarta.ee/specifications/websocket/2.1/
https://jakarta.ee/specifications/authentication/3.0/

I wonder why Apache Tomcat 10.1 is not listed under "Compatible
Implementations".

Maybe "Compatible Implementations" is a list of projects related to
the voting process for that specification. But as such description
(comment or disclaimer) is missing, it is odd to do not see Tomcat
there.

Best regards,
Konstantin Kolinko

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