svn commit: r1920493 - in /tomcat/site/trunk: docs/security-model.html xdocs/security-model.xml

2024-09-06 Thread markt
Author: markt
Date: Fri Sep  6 07:49:48 2024
New Revision: 1920493

URL: http://svn.apache.org/viewvc?rev=1920493&view=rev
Log:
Updates after kkolinko's review

Modified:
tomcat/site/trunk/docs/security-model.html
tomcat/site/trunk/xdocs/security-model.xml

Modified: tomcat/site/trunk/docs/security-model.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/security-model.html?rev=1920493&r1=1920492&r2=1920493&view=diff
==
--- tomcat/site/trunk/docs/security-model.html (original)
+++ tomcat/site/trunk/docs/security-model.html Fri Sep  6 07:49:48 2024
@@ -17,9 +17,13 @@
  any of the following will be rejected:
 
   
-The Manager or Host Manager web applications provided with 
Tomcat.
-Tomcat configuration files.
 Tomcat binaries and/or scripts.
+Tomcat configuration files.
+Tomcat log files.
+The temp directory (by default 
$CATALINA_BASE/temp)
+Web application working directories (by default
+$CATALINA_BASE/work)
+The Manager or Host Manager web applications provided with 
Tomcat.
 The JMX API (local or remote).
 The Java Attach API or any other debugging interface.
   
@@ -47,17 +51,22 @@
 Connectors
 
   Data received via a Connector, regardless of protocol, is considered 
to
- be untrusted apart from:
+ be untrusted with the exception of:
 
   
 The standard request attributes and any arbitrary request 
attributes
 permitted by allowedRequestAttributesPattern for an 
AJP
 connector.
 HTTP headers processed by a RemoteIpValve,
-SSLValve, equivalent filters 
(RemoteIpFilter)
-or any similar functionality.
+SSLValve, equivalent filters
+(RemoteIpFilter) or any similar functionality.
   
 
+  Clients are responsible for the consequences of the data they present
+ to Tomcat. If a client presents a malformed request that Tomcat
+ processes as per the specification for configured protocol, then any
+ security impact to the client is the client's responsibility.
+
 
 
 Clustering
@@ -78,6 +87,12 @@
   Security-sensitive information may be logged with modified logging
  configurations, particularly if debug logging is enabled.
 
+  The default logs are likely to contain personally identifiable
+ information (PII) such as the IP address of users.
+
+  Tomcat is not responsible for the content of log messages generated by
+ applications.
+
 
 
   

Modified: tomcat/site/trunk/xdocs/security-model.xml
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/security-model.xml?rev=1920493&r1=1920492&r2=1920493&view=diff
==
--- tomcat/site/trunk/xdocs/security-model.xml (original)
+++ tomcat/site/trunk/xdocs/security-model.xml Fri Sep  6 07:49:48 2024
@@ -25,9 +25,13 @@
  any of the following will be rejected:
 
   
-The Manager or Host Manager web applications provided with 
Tomcat.
-Tomcat configuration files.
 Tomcat binaries and/or scripts.
+Tomcat configuration files.
+Tomcat log files.
+The temp directory (by default 
$CATALINA_BASE/temp)
+Web application working directories (by default
+$CATALINA_BASE/work)
+The Manager or Host Manager web applications provided with 
Tomcat.
 The JMX API (local or remote).
 The Java Attach API or any other debugging interface.
   
@@ -55,17 +59,22 @@
 
 
   Data received via a Connector, regardless of protocol, is considered 
to
- be untrusted apart from:
+ be untrusted with the exception of:
 
   
 The standard request attributes and any arbitrary request 
attributes
 permitted by allowedRequestAttributesPattern for an 
AJP
 connector.
 HTTP headers processed by a RemoteIpValve,
-SSLValve, equivalent filters 
(RemoteIpFilter)
-or any similar functionality.
+SSLValve, equivalent filters
+(RemoteIpFilter) or any similar functionality.
   
 
+  Clients are responsible for the consequences of the data they present
+ to Tomcat. If a client presents a malformed request that Tomcat
+ processes as per the specification for configured protocol, then any
+ security impact to the client is the client's responsibility.
+
 
 
 
@@ -86,10 +95,15 @@
   Security-sensitive information may be logged with modified logging
  configurations, particularly if debug logging is enabled.
 
+  The default logs are likely to contain personally identifiable
+ information (PII) such as the IP address of users.
+
+  Tomcat is not responsible for the cont

Re: svn commit: r1920023 - in /tomcat/site/trunk: docs/security-model.html xdocs/security-model.xml

2024-09-06 Thread Mark Thomas

On 05/09/2024 22:25, Konstantin Kolinko wrote:

пн, 19 авг. 2024 г. в 14:27, Mark Thomas :


On 19/08/2024 12:23, ma...@apache.org wrote:

Author: markt
Date: Mon Aug 19 11:23:05 2024
New Revision: 1920023

URL: http://svn.apache.org/viewvc?rev=1920023&view=rev
Log:
Add first draft of security model


All,

This is an attempt to document something I think we all instinctively
understand. It is likely that we'll need this, or something like it, to
meet the CRA requirements (or to be more accurate for our downstream
users to meet their CRA requirements).

It is currently not linked from the rest of the Tomcat site. My thinking
was we'd refine it and then link it once we were happy with it.

Feel free to update/comment/etc just like any other site content.


Thank you for starting this work.

BTW, url for the document (if somebody wants to review) is
https://tomcat.apache.org/security-model.html

Some thoughts
- In "Administrative users" there it says "has access to or control over".

I was wondering whether it could be simplified, but I resolved to
leave it as is.

Generally, "read access" should not be allowed to Tomcat configuration
files, as those may contain secrets.

Read access to the binaries generally is safe, but may be used to
determine what version of Tomcat is being used.

If so, are users that have access to those considered as "Administrative users"?


TL;DR: yes.

There are different levels of risk for different files. Users may well 
opt to apply different access controls to different files. Our position 
is (as I understand it) if any of those users can do harm as a result of 
that access then that is not a Tomcat vulnerability. The simplest way to 
express this is to state that any vulnerability that relies on access to 
those files will be rejected.



- Maybe mention the temporary files (temp, work).

Though they are mentioned on the Security Considerations pages.

"temp" is used for Servlet API's file upload support and for the
antiResourceLocking feature. "work" stores compiled code for the web
applications that we consider as "trusted".


Good idea. Done.


- In "Logging" I wonder what "Security-sensitive information" is.


I was trying to distinguish between information an attacker can use to 
gain access (e.g. a password, session ID etc) and everything else.



Non-anonymised information about users' activity is generally
sensitive, and thus are access logs.

We do log IP addresses. We do log "%u" (user name).

In general non-trusted users should not have access to that information.


I'll add a note that the default logs contain PII.


BTW,
generally "non sensitive" data may actually be sensitive, if users may
put sensitive information into it. (E.g. I vaguely remember that I
once saw a system that logged names of users that failed to
authenticate, and some users were typing their passwords into the
username field, resulting in those being logged). (IIUC, %u is safe,
as it logs names of those who have successfully authenticated)


I've seen that too. I've added a note that Tomcat isn't responsible for 
the content of log messages generated by applications so we aren't 
required to sanitize them.



- In Connectors, maybe mention that AJP is essentially plain text, as
well as plain HTTP or plain HTTP/2 (h2c).


I think that is straying more into something that belongs in security 
considerations. I've may an update there that I'll commit once I've 
finished updating this page.



- I wonder whether "Data .. is considered to be untrusted" has further
exceptions.


I couldn't think of any but we can add to it if necessary.


A front proxy may reuse connections to Tomcat to process requests from
different clients. We do expect the data to be structurally correct.


I've added paragraph to say that it is the client's problem if it 
presents malformed data and doesn't handle the response correctly.



Minor
- I wonder whether the "apart from" clause (in Connectors) is
understandable. I considered rewriting it as "with exception of the
following".


To a native speaker there isn't any difference but happy to change this 
if it is more likely to be understood by a wider audience.



Generic, beyond bounds of this document.
- When I think about what "trust" actually means and implies, it
inspires some related thoughts / topics.

(How the trust can be enforced. What happens when trust is breached. Etc.)


Fortunately that is not our problem ;)


- I wonder whether there exists a "Security Model" document for a
generic web application.


I haven't seen one.

As always, thank you for the thorough review.

Mark

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



(tomcat) branch main updated: Expand on security consequences of AJP being clear-text

2024-09-06 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 d53e730a1e Expand on security consequences of AJP being clear-text
d53e730a1e is described below

commit d53e730a1e7949580f66db1d915c0ee59debf371
Author: Mark Thomas 
AuthorDate: Fri Sep 6 09:05:36 2024 +0100

Expand on security consequences of AJP being clear-text
---
 webapps/docs/security-howto.xml | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/security-howto.xml b/webapps/docs/security-howto.xml
index 6a371820e7..20bd81f062 100644
--- a/webapps/docs/security-howto.xml
+++ b/webapps/docs/security-howto.xml
@@ -216,8 +216,11 @@
   By default, a non-TLS, HTTP/1.1 connector is configured on port 8080.
   Connectors that will not be used should be removed from server.xml.
 
-  AJP Connectors should only be used on trusted networks or be
-  appropriately secured with a suitable secret attribute.
+  AJP is a clear text protocol. AJP Connectors should normally only be
+  used on trusted networks. If used on an untrusted network, use of the
+  secret attribute will limit access to authorised clients but
+  the secret attribute will be visible to anyone who can
+  observe network traffic.
 
   AJP Connectors block forwarded requests with unknown request
   attributes. Known safe and/or expected attributes may be allowed by


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



(tomcat) branch 11.0.x updated: Expand on security consequences of AJP being clear-text

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

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


The following commit(s) were added to refs/heads/11.0.x by this push:
 new e9a1f62317 Expand on security consequences of AJP being clear-text
e9a1f62317 is described below

commit e9a1f6231747f62f7d329e3f2f7afa9ec9a3352e
Author: Mark Thomas 
AuthorDate: Fri Sep 6 09:05:36 2024 +0100

Expand on security consequences of AJP being clear-text
---
 webapps/docs/security-howto.xml | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/security-howto.xml b/webapps/docs/security-howto.xml
index 6a371820e7..20bd81f062 100644
--- a/webapps/docs/security-howto.xml
+++ b/webapps/docs/security-howto.xml
@@ -216,8 +216,11 @@
   By default, a non-TLS, HTTP/1.1 connector is configured on port 8080.
   Connectors that will not be used should be removed from server.xml.
 
-  AJP Connectors should only be used on trusted networks or be
-  appropriately secured with a suitable secret attribute.
+  AJP is a clear text protocol. AJP Connectors should normally only be
+  used on trusted networks. If used on an untrusted network, use of the
+  secret attribute will limit access to authorised clients but
+  the secret attribute will be visible to anyone who can
+  observe network traffic.
 
   AJP Connectors block forwarded requests with unknown request
   attributes. Known safe and/or expected attributes may be allowed by


-
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: Expand on security consequences of AJP being clear-text

2024-09-06 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 7d7b4bc929 Expand on security consequences of AJP being clear-text
7d7b4bc929 is described below

commit 7d7b4bc929b9a3d6c28e63cf674e39a1284c2aba
Author: Mark Thomas 
AuthorDate: Fri Sep 6 09:05:36 2024 +0100

Expand on security consequences of AJP being clear-text
---
 webapps/docs/security-howto.xml | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/security-howto.xml b/webapps/docs/security-howto.xml
index e6a5e11809..c5ba633148 100644
--- a/webapps/docs/security-howto.xml
+++ b/webapps/docs/security-howto.xml
@@ -249,8 +249,11 @@
   By default, a non-TLS, HTTP/1.1 connector is configured on port 8080.
   Connectors that will not be used should be removed from server.xml.
 
-  AJP Connectors should only be used on trusted networks or be
-  appropriately secured with a suitable secret attribute.
+  AJP is a clear text protocol. AJP Connectors should normally only be
+  used on trusted networks. If used on an untrusted network, use of the
+  secret attribute will limit access to authorised clients but
+  the secret attribute will be visible to anyone who can
+  observe network traffic.
 
   AJP Connectors block forwarded requests with unknown request
   attributes. Known safe and/or expected attributes may be allowed by


-
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: Expand on security consequences of AJP being clear-text

2024-09-06 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 ebc78c0a3b Expand on security consequences of AJP being clear-text
ebc78c0a3b is described below

commit ebc78c0a3b3b5d5c736c306254815736167e0e86
Author: Mark Thomas 
AuthorDate: Fri Sep 6 09:05:36 2024 +0100

Expand on security consequences of AJP being clear-text
---
 webapps/docs/security-howto.xml | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/security-howto.xml b/webapps/docs/security-howto.xml
index 57001b806f..fc7d7290a7 100644
--- a/webapps/docs/security-howto.xml
+++ b/webapps/docs/security-howto.xml
@@ -249,8 +249,11 @@
   By default, a non-TLS, HTTP/1.1 connector is configured on port 8080.
   Connectors that will not be used should be removed from server.xml.
 
-  AJP Connectors should only be used on trusted networks or be
-  appropriately secured with a suitable secret attribute.
+  AJP is a clear text protocol. AJP Connectors should normally only be
+  used on trusted networks. If used on an untrusted network, use of the
+  secret attribute will limit access to authorised clients but
+  the secret attribute will be visible to anyone who can
+  observe network traffic.
 
   AJP Connectors block forwarded requests with unknown request
   attributes. Known safe and/or expected attributes may be allowed by


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



(tomcat) branch main updated: Avoid possible lost update

2024-09-06 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 8a4c7484fa Avoid possible lost update
8a4c7484fa is described below

commit 8a4c7484fa37008bc0bbf188010e000dfb7600a6
Author: remm 
AuthorDate: Fri Sep 6 10:29:40 2024 +0200

Avoid possible lost update

Found by Coverity.
---
 java/org/apache/tomcat/util/net/SecureNio2Channel.java | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/java/org/apache/tomcat/util/net/SecureNio2Channel.java 
b/java/org/apache/tomcat/util/net/SecureNio2Channel.java
index 7d5df2e007..d8f2afec7e 100644
--- a/java/org/apache/tomcat/util/net/SecureNio2Channel.java
+++ b/java/org/apache/tomcat/util/net/SecureNio2Channel.java
@@ -30,6 +30,7 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import javax.net.ssl.SSLEngine;
 import javax.net.ssl.SSLEngineResult;
@@ -69,7 +70,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 protected volatile boolean sniComplete = false;
 
 private volatile boolean handshakeComplete = false;
-private volatile int handshakeWrapQueueLength = 0;
+private final AtomicInteger handshakeWrapQueueLength = new AtomicInteger();
 private volatile HandshakeStatus handshakeStatus; //gets set by handshake
 
 protected boolean closed;
@@ -142,6 +143,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 sslEngine = null;
 sniComplete = false;
 handshakeComplete = false;
+handshakeWrapQueueLength.set(0);
 unwrapBeforeRead = true;
 closed = false;
 closing = false;
@@ -771,7 +773,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 if (unwrap.getHandshakeStatus() == 
HandshakeStatus.NEED_TASK) {
 tasks();
 } else if (unwrap.getHandshakeStatus() == 
HandshakeStatus.NEED_WRAP) {
-if (++handshakeWrapQueueLength > 
HANDSHAKE_WRAP_QUEUE_LENGTH_LIMIT) {
+if (handshakeWrapQueueLength.incrementAndGet() > 
HANDSHAKE_WRAP_QUEUE_LENGTH_LIMIT) {
 throw new ExecutionException(
 new 
IOException(sm.getString("channel.nio.ssl.handshakeWrapQueueTooLong")));
 }
@@ -906,7 +908,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 netOutBuffer.clear();
 SSLEngineResult result = sslEngine.wrap(src, netOutBuffer);
 // Call to wrap() will have included any required 
handshake data
-handshakeWrapQueueLength = 0;
+handshakeWrapQueueLength.set(0);
 written = result.bytesConsumed();
 netOutBuffer.flip();
 if (result.getStatus() == Status.OK) {
@@ -973,7 +975,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 if (unwrap.getHandshakeStatus() == 
HandshakeStatus.NEED_TASK) {
 tasks();
 } else if (unwrap.getHandshakeStatus() == 
HandshakeStatus.NEED_WRAP) {
-if (++handshakeWrapQueueLength > 
HANDSHAKE_WRAP_QUEUE_LENGTH_LIMIT) {
+if 
(handshakeWrapQueueLength.incrementAndGet() > 
HANDSHAKE_WRAP_QUEUE_LENGTH_LIMIT) {
 throw new ExecutionException(new 
IOException(
 
sm.getString("channel.nio.ssl.handshakeWrapQueueTooLong")));
 }
@@ -1091,7 +1093,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 if (unwrap.getHandshakeStatus() == 
HandshakeStatus.NEED_TASK) {
 tasks();
 } else if (unwrap.getHandshakeStatus() == 
HandshakeStatus.NEED_WRAP) {
-if (++handshakeWrapQueueLength > 
HANDSHAKE_WRAP_QUEUE_LENGTH_LIMIT) {
+if 
(handshakeWrapQueueLength.incrementAndGet() > 
HANDSHAKE_WRAP_QUEUE_LENGTH_LIMIT) {
 throw new ExecutionException(new 
IOException(
 
sm.getString("channel.nio.ssl.handshakeWrapQueueTooLong")));
 }
@@ -1205,7 +1207,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 // Wrap the source data into the internal buffer
 SSLEngineResult result = sslEngine.wrap(src, netOutBuffer);
 // Call t

(tomcat) branch 11.0.x updated: Avoid possible lost update

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

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


The following commit(s) were added to refs/heads/11.0.x by this push:
 new 116813b0d1 Avoid possible lost update
116813b0d1 is described below

commit 116813b0d12c1d3ddbd0f7d70da7afabab998400
Author: remm 
AuthorDate: Fri Sep 6 10:29:40 2024 +0200

Avoid possible lost update

Found by Coverity.
---
 java/org/apache/tomcat/util/net/SecureNio2Channel.java | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/java/org/apache/tomcat/util/net/SecureNio2Channel.java 
b/java/org/apache/tomcat/util/net/SecureNio2Channel.java
index 7d5df2e007..d8f2afec7e 100644
--- a/java/org/apache/tomcat/util/net/SecureNio2Channel.java
+++ b/java/org/apache/tomcat/util/net/SecureNio2Channel.java
@@ -30,6 +30,7 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import javax.net.ssl.SSLEngine;
 import javax.net.ssl.SSLEngineResult;
@@ -69,7 +70,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 protected volatile boolean sniComplete = false;
 
 private volatile boolean handshakeComplete = false;
-private volatile int handshakeWrapQueueLength = 0;
+private final AtomicInteger handshakeWrapQueueLength = new AtomicInteger();
 private volatile HandshakeStatus handshakeStatus; //gets set by handshake
 
 protected boolean closed;
@@ -142,6 +143,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 sslEngine = null;
 sniComplete = false;
 handshakeComplete = false;
+handshakeWrapQueueLength.set(0);
 unwrapBeforeRead = true;
 closed = false;
 closing = false;
@@ -771,7 +773,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 if (unwrap.getHandshakeStatus() == 
HandshakeStatus.NEED_TASK) {
 tasks();
 } else if (unwrap.getHandshakeStatus() == 
HandshakeStatus.NEED_WRAP) {
-if (++handshakeWrapQueueLength > 
HANDSHAKE_WRAP_QUEUE_LENGTH_LIMIT) {
+if (handshakeWrapQueueLength.incrementAndGet() > 
HANDSHAKE_WRAP_QUEUE_LENGTH_LIMIT) {
 throw new ExecutionException(
 new 
IOException(sm.getString("channel.nio.ssl.handshakeWrapQueueTooLong")));
 }
@@ -906,7 +908,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 netOutBuffer.clear();
 SSLEngineResult result = sslEngine.wrap(src, netOutBuffer);
 // Call to wrap() will have included any required 
handshake data
-handshakeWrapQueueLength = 0;
+handshakeWrapQueueLength.set(0);
 written = result.bytesConsumed();
 netOutBuffer.flip();
 if (result.getStatus() == Status.OK) {
@@ -973,7 +975,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 if (unwrap.getHandshakeStatus() == 
HandshakeStatus.NEED_TASK) {
 tasks();
 } else if (unwrap.getHandshakeStatus() == 
HandshakeStatus.NEED_WRAP) {
-if (++handshakeWrapQueueLength > 
HANDSHAKE_WRAP_QUEUE_LENGTH_LIMIT) {
+if 
(handshakeWrapQueueLength.incrementAndGet() > 
HANDSHAKE_WRAP_QUEUE_LENGTH_LIMIT) {
 throw new ExecutionException(new 
IOException(
 
sm.getString("channel.nio.ssl.handshakeWrapQueueTooLong")));
 }
@@ -1091,7 +1093,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 if (unwrap.getHandshakeStatus() == 
HandshakeStatus.NEED_TASK) {
 tasks();
 } else if (unwrap.getHandshakeStatus() == 
HandshakeStatus.NEED_WRAP) {
-if (++handshakeWrapQueueLength > 
HANDSHAKE_WRAP_QUEUE_LENGTH_LIMIT) {
+if 
(handshakeWrapQueueLength.incrementAndGet() > 
HANDSHAKE_WRAP_QUEUE_LENGTH_LIMIT) {
 throw new ExecutionException(new 
IOException(
 
sm.getString("channel.nio.ssl.handshakeWrapQueueTooLong")));
 }
@@ -1205,7 +1207,7 @@ public class SecureNio2Channel extends Nio2Channel  {
 // Wrap the source data into the internal buffer
 SSLEngineResult result = sslEngine.wrap(src, netOutBuffer);
 // Ca

(tomcat) branch main updated: Add lifecycle event detail for Server

2024-09-06 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 c5334fb785 Add lifecycle event detail for Server
c5334fb785 is described below

commit c5334fb78580f324f58dab4848bea27934a09c86
Author: Mark Thomas 
AuthorDate: Fri Sep 6 12:12:16 2024 +0100

Add lifecycle event detail for Server
---
 .../docs/architecture/startup/2_catalina_init.png   | Bin 30440 -> 47264 bytes
 .../docs/architecture/startup/2_catalina_init.uml   |  12 
 2 files changed, 12 insertions(+)

diff --git a/webapps/docs/architecture/startup/2_catalina_init.png 
b/webapps/docs/architecture/startup/2_catalina_init.png
index 9c8aef0ef8..bcba47924a 100644
Binary files a/webapps/docs/architecture/startup/2_catalina_init.png and 
b/webapps/docs/architecture/startup/2_catalina_init.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.uml 
b/webapps/docs/architecture/startup/2_catalina_init.uml
index b02d57f5a3..9ed74880d9 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.uml
+++ b/webapps/docs/architecture/startup/2_catalina_init.uml
@@ -30,6 +30,11 @@ activate Protocol
 
 Catalina -> Server: init()
 
+Server -> Server: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+
+Server -> Server: initInternal()
+activate Server
+
 Server -> "Global\nNaming\nResources" : init()
 Server -> "Service(s)" as Services: init()
 
@@ -44,4 +49,11 @@ activate CoyoteAdapter
 Connectors -> Protocol: setAdapter()
 Connectors -> Protocol: init()
 
+Server -->> Server
+deactivate Server
+
+Server -> Server: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Server -->> Catalina
+
 @enduml
\ 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



Re: (tomcat) branch main updated: Add lifecycle event detail for Server

2024-09-06 Thread Mark Thomas

On 06/09/2024 12:14, ma...@apache.org wrote:

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 c5334fb785 Add lifecycle event detail for Server
c5334fb785 is described below

commit c5334fb78580f324f58dab4848bea27934a09c86
Author: Mark Thomas 
AuthorDate: Fri Sep 6 12:12:16 2024 +0100

 Add lifecycle event detail for Server


Question.

Do I add this for all the components that implement lifecycle (for 
completeness) or do I add a note listing the other components on the 
diagram that also use initInternal() and fire lifecycle events for 
simplicity / clarity?


I'm currently leaning towards completeness rather than simplicity/clarity.

Thoughts?

Mark


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



(tomcat) branch main updated: Add null check

2024-09-06 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 32507a41a7 Add null check
32507a41a7 is described below

commit 32507a41a793a9d891595717f986a17f794676db
Author: remm 
AuthorDate: Fri Sep 6 13:19:44 2024 +0200

Add null check

Found by Coverity.
---
 java/org/apache/coyote/http2/Http2UpgradeHandler.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
index 8a6e896a2b..53a2fbddf3 100644
--- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
@@ -291,7 +291,9 @@ class Http2UpgradeHandler extends AbstractStream implements 
InternalHttpUpgradeH
 
 
 protected void decrementActiveRemoteStreamCount(Stream stream) {
-
setConnectionTimeoutForStreamCount(stream.decrementAndGetActiveRemoteStreamCount());
+if (stream != null) {
+
setConnectionTimeoutForStreamCount(stream.decrementAndGetActiveRemoteStreamCount());
+}
 }
 
 


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



Buildbot success in on tomcat-9.0.x

2024-09-06 Thread buildbot
Build status: Build succeeded!
Worker used: bb_worker2_ubuntu
URL: https://ci2.apache.org/#builders/37/builds/1067
Blamelist: Mark Thomas , remm 
Build Text: build successful
Status Detected: restored build
Build Source Stamp: [branch 9.0.x] bfa5de95addc358107fca002c02c909270f0a0fa


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 11.0.x updated: Add null check

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

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


The following commit(s) were added to refs/heads/11.0.x by this push:
 new a7c6017800 Add null check
a7c6017800 is described below

commit a7c601780079f18d6ea77ca90c65724d49047019
Author: remm 
AuthorDate: Fri Sep 6 13:19:44 2024 +0200

Add null check

Found by Coverity.
---
 java/org/apache/coyote/http2/Http2UpgradeHandler.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
index 8a6e896a2b..53a2fbddf3 100644
--- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
@@ -291,7 +291,9 @@ class Http2UpgradeHandler extends AbstractStream implements 
InternalHttpUpgradeH
 
 
 protected void decrementActiveRemoteStreamCount(Stream stream) {
-
setConnectionTimeoutForStreamCount(stream.decrementAndGetActiveRemoteStreamCount());
+if (stream != null) {
+
setConnectionTimeoutForStreamCount(stream.decrementAndGetActiveRemoteStreamCount());
+}
 }
 
 


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

2024-09-06 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 d27fe93747 Add null check
d27fe93747 is described below

commit d27fe93747e2cdebffd4aa7252c5957c8a8e4822
Author: remm 
AuthorDate: Fri Sep 6 13:19:44 2024 +0200

Add null check

Found by Coverity.
---
 java/org/apache/coyote/http2/Http2UpgradeHandler.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
index 7904031722..d44982fc82 100644
--- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
@@ -292,7 +292,9 @@ class Http2UpgradeHandler extends AbstractStream implements 
InternalHttpUpgradeH
 
 
 protected void decrementActiveRemoteStreamCount(Stream stream) {
-
setConnectionTimeoutForStreamCount(stream.decrementAndGetActiveRemoteStreamCount());
+if (stream != null) {
+
setConnectionTimeoutForStreamCount(stream.decrementAndGetActiveRemoteStreamCount());
+}
 }
 
 


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



Re: (tomcat) branch main updated: Add lifecycle event detail for Server

2024-09-06 Thread Mark Thomas




On 06/09/2024 12:24, Rémy Maucherat wrote:

On Fri, Sep 6, 2024 at 1:19 PM Mark Thomas  wrote:


On 06/09/2024 12:14, ma...@apache.org wrote:

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 c5334fb785 Add lifecycle event detail for Server
c5334fb785 is described below

commit c5334fb78580f324f58dab4848bea27934a09c86
Author: Mark Thomas 
AuthorDate: Fri Sep 6 12:12:16 2024 +0100

  Add lifecycle event detail for Server


Question.

Do I add this for all the components that implement lifecycle (for
completeness) or do I add a note listing the other components on the
diagram that also use initInternal() and fire lifecycle events for
simplicity / clarity?

I'm currently leaning towards completeness rather than simplicity/clarity.

Thoughts?


The start one seems to have everything but as a result it is more
cluttered. I suppose it is best to have a complete view.


That is what I was thinking. It also makes it more obvious that the 
Adapter and the Protocol don't have lifecycle events.


Mark

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



svn commit: r1920495 - in /tomcat/site/trunk: docs/tools.html xdocs/tools.xml

2024-09-06 Thread kkolinko
Author: kkolinko
Date: Fri Sep  6 12:07:34 2024
New Revision: 1920495

URL: http://svn.apache.org/viewvc?rev=1920495&view=rev
Log:
Update Tools page: Add a link to PlantUML.

Modified:
tomcat/site/trunk/docs/tools.html
tomcat/site/trunk/xdocs/tools.xml

Modified: tomcat/site/trunk/docs/tools.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tools.html?rev=1920495&r1=1920494&r2=1920495&view=diff
==
--- tomcat/site/trunk/docs/tools.html (original)
+++ tomcat/site/trunk/docs/tools.html Fri Sep  6 12:07:34 2024
@@ -48,6 +48,11 @@ and a committer should be able to fix it
   
 
 
+  https://plantuml.com/en/"; rel="nofollow" 
style="font-family:Helvetica; font-size:28px; font-weight:600; 
text-decoration:none; text-wrap:nowrap">🌱 PlantUML
+  PlantUML is used to create diagrams for Tomcat documentation.
+  
+
+
   https://www.farmanager.com/index.php?l=en"; rel="nofollow">
   
   Far Manager is a two-panel file manager application for

Modified: tomcat/site/trunk/xdocs/tools.xml
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/tools.xml?rev=1920495&r1=1920494&r2=1920495&view=diff
==
--- tomcat/site/trunk/xdocs/tools.xml (original)
+++ tomcat/site/trunk/xdocs/tools.xml Fri Sep  6 12:07:34 2024
@@ -67,6 +67,13 @@ and a committer should be able to fix it
   
 
 
+  https://plantuml.com/en/"; rel="nofollow"
+style="font-family:Helvetica; font-size:28px; font-weight:600; 
text-decoration:none; text-wrap:nowrap"
+>🌱 PlantUML
+  PlantUML is used to create diagrams for Tomcat documentation.
+  
+
+
   https://www.farmanager.com/index.php?l=en"; rel="nofollow">
   
   Far Manager is a two-panel file manager application for



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



(tomcat) branch main updated: Add lifecycle events, correct activation, use aliases correctly

2024-09-06 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 8da042dabf Add lifecycle events, correct activation, use aliases 
correctly
8da042dabf is described below

commit 8da042dabfe6ef404357a9b4a71c0ce2b685a15d
Author: Mark Thomas 
AuthorDate: Fri Sep 6 15:32:51 2024 +0100

Add lifecycle events, correct activation, use aliases correctly
---
 .../docs/architecture/startup/2_catalina_init.png  | Bin 47264 -> 114077 bytes
 .../docs/architecture/startup/2_catalina_init.uml  |  83 ++---
 2 files changed, 73 insertions(+), 10 deletions(-)

diff --git a/webapps/docs/architecture/startup/2_catalina_init.png 
b/webapps/docs/architecture/startup/2_catalina_init.png
index bcba47924a..63a31d6a81 100644
Binary files a/webapps/docs/architecture/startup/2_catalina_init.png and 
b/webapps/docs/architecture/startup/2_catalina_init.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.uml 
b/webapps/docs/architecture/startup/2_catalina_init.uml
index 9ed74880d9..de8b3432f5 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.uml
+++ b/webapps/docs/architecture/startup/2_catalina_init.uml
@@ -19,35 +19,97 @@ hide footbox
 skinparam style strictuml
 
 activate Catalina
-activate Server
-activate "Global\nNaming\nResources"
-activate Services
-activate Engine
-activate Executors
-activate MapperListener
-activate Connectors
-activate Protocol
 
 Catalina -> Server: init()
+activate Server
 
 Server -> Server: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 
 Server -> Server: initInternal()
 activate Server
 
-Server -> "Global\nNaming\nResources" : init()
+Server -> "Global\nNaming\nResources" as GNR: init()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+GNR -> GNR: initInternal()
+GNR -> GNR: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Server  <<-- GNR
+deactivate GNR
+
 Server -> "Service(s)" as Services: init()
+activate Services
+
+Services -> Services: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+
+Services -> Services: initInternal()
+activate Services
 
 Services -> Engine: init()
+activate Engine
+
+Engine -> Engine: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Engine -> Engine: initInternal()
+Engine -> Engine: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Engine
+deactivate Engine
+
 Services -> "Executor(s)" as Executors: init()
+activate Executors
+
+Executors -> Executors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Executors -> Executors: initInternal()
+Executors -> Executors: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Executors
+deactivate Executors
+
 Services -> "Mapper\nListener" as MapperListener: init()
+activate MapperListener
+
+MapperListener -> MapperListener: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+MapperListener -> MapperListener: initInternal()
+MapperListener -> MapperListener: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- MapperListener
+deactivate MapperListener
+
 Services -> "Connector(s)" as Connectors: init()
+activate Connectors
+
+Connectors -> Connectors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Connectors -> Connectors: initInternal()
+activate Connectors
 
 Connectors -->> CoyoteAdapter **
-activate CoyoteAdapter
 
 Connectors -> Protocol: setAdapter()
+activate Protocol
+Connectors <<-- Protocol
+deactivate Protocol
+
 Connectors -> Protocol: init()
+activate Protocol
+Connectors <<-- Protocol
+deactivate Protocol
+
+Connectors -->> Connectors
+deactivate Connectors
+
+Connectors -> Connectors: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Connectors
+deactivate Connectors
+
+Services -> Services: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services -->> Services
+deactivate Services
+
+Server <<-- Services
+deactivate Services
 
 Server -->> Server
 deactivate Server
@@ -55,5 +117,6 @@ deactivate Server
 Server -> Server: fireLifecycleEvent(\nAFTER_INIT_EVENT)
 
 Server -->> Catalina
+deactivate Server
 
 @enduml
\ 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



(tomcat) branch 11.0.x updated: Add lifecycle events, correct activation, use aliases correctly

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

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


The following commit(s) were added to refs/heads/11.0.x by this push:
 new 1878b30ec2 Add lifecycle events, correct activation, use aliases 
correctly
1878b30ec2 is described below

commit 1878b30ec22d21cefebab177eace003981d40729
Author: Mark Thomas 
AuthorDate: Fri Sep 6 15:32:51 2024 +0100

Add lifecycle events, correct activation, use aliases correctly
---
 .../docs/architecture/startup/2_catalina_init.png  | Bin 30440 -> 114077 bytes
 .../docs/architecture/startup/2_catalina_init.uml  |  95 ++---
 2 files changed, 85 insertions(+), 10 deletions(-)

diff --git a/webapps/docs/architecture/startup/2_catalina_init.png 
b/webapps/docs/architecture/startup/2_catalina_init.png
index 9c8aef0ef8..63a31d6a81 100644
Binary files a/webapps/docs/architecture/startup/2_catalina_init.png and 
b/webapps/docs/architecture/startup/2_catalina_init.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.uml 
b/webapps/docs/architecture/startup/2_catalina_init.uml
index b02d57f5a3..de8b3432f5 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.uml
+++ b/webapps/docs/architecture/startup/2_catalina_init.uml
@@ -19,29 +19,104 @@ hide footbox
 skinparam style strictuml
 
 activate Catalina
-activate Server
-activate "Global\nNaming\nResources"
-activate Services
-activate Engine
-activate Executors
-activate MapperListener
-activate Connectors
-activate Protocol
 
 Catalina -> Server: init()
+activate Server
+
+Server -> Server: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+
+Server -> Server: initInternal()
+activate Server
+
+Server -> "Global\nNaming\nResources" as GNR: init()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+GNR -> GNR: initInternal()
+GNR -> GNR: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Server  <<-- GNR
+deactivate GNR
 
-Server -> "Global\nNaming\nResources" : init()
 Server -> "Service(s)" as Services: init()
+activate Services
+
+Services -> Services: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+
+Services -> Services: initInternal()
+activate Services
 
 Services -> Engine: init()
+activate Engine
+
+Engine -> Engine: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Engine -> Engine: initInternal()
+Engine -> Engine: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Engine
+deactivate Engine
+
 Services -> "Executor(s)" as Executors: init()
+activate Executors
+
+Executors -> Executors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Executors -> Executors: initInternal()
+Executors -> Executors: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Executors
+deactivate Executors
+
 Services -> "Mapper\nListener" as MapperListener: init()
+activate MapperListener
+
+MapperListener -> MapperListener: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+MapperListener -> MapperListener: initInternal()
+MapperListener -> MapperListener: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- MapperListener
+deactivate MapperListener
+
 Services -> "Connector(s)" as Connectors: init()
+activate Connectors
+
+Connectors -> Connectors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Connectors -> Connectors: initInternal()
+activate Connectors
 
 Connectors -->> CoyoteAdapter **
-activate CoyoteAdapter
 
 Connectors -> Protocol: setAdapter()
+activate Protocol
+Connectors <<-- Protocol
+deactivate Protocol
+
 Connectors -> Protocol: init()
+activate Protocol
+Connectors <<-- Protocol
+deactivate Protocol
+
+Connectors -->> Connectors
+deactivate Connectors
+
+Connectors -> Connectors: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Connectors
+deactivate Connectors
+
+Services -> Services: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services -->> Services
+deactivate Services
+
+Server <<-- Services
+deactivate Services
+
+Server -->> Server
+deactivate Server
+
+Server -> Server: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Server -->> Catalina
+deactivate Server
 
 @enduml
\ 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



(tomcat) branch 10.1.x updated: Add lifecycle events, correct activation, use aliases correctly

2024-09-06 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 ca4fd220f3 Add lifecycle events, correct activation, use aliases 
correctly
ca4fd220f3 is described below

commit ca4fd220f3e860c915470c4bb052039cfcc10b97
Author: Mark Thomas 
AuthorDate: Fri Sep 6 15:32:51 2024 +0100

Add lifecycle events, correct activation, use aliases correctly
---
 .../docs/architecture/startup/2_catalina_init.png  | Bin 30440 -> 114077 bytes
 .../docs/architecture/startup/2_catalina_init.uml  |  95 ++---
 2 files changed, 85 insertions(+), 10 deletions(-)

diff --git a/webapps/docs/architecture/startup/2_catalina_init.png 
b/webapps/docs/architecture/startup/2_catalina_init.png
index 9c8aef0ef8..63a31d6a81 100644
Binary files a/webapps/docs/architecture/startup/2_catalina_init.png and 
b/webapps/docs/architecture/startup/2_catalina_init.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.uml 
b/webapps/docs/architecture/startup/2_catalina_init.uml
index b02d57f5a3..de8b3432f5 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.uml
+++ b/webapps/docs/architecture/startup/2_catalina_init.uml
@@ -19,29 +19,104 @@ hide footbox
 skinparam style strictuml
 
 activate Catalina
-activate Server
-activate "Global\nNaming\nResources"
-activate Services
-activate Engine
-activate Executors
-activate MapperListener
-activate Connectors
-activate Protocol
 
 Catalina -> Server: init()
+activate Server
+
+Server -> Server: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+
+Server -> Server: initInternal()
+activate Server
+
+Server -> "Global\nNaming\nResources" as GNR: init()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+GNR -> GNR: initInternal()
+GNR -> GNR: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Server  <<-- GNR
+deactivate GNR
 
-Server -> "Global\nNaming\nResources" : init()
 Server -> "Service(s)" as Services: init()
+activate Services
+
+Services -> Services: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+
+Services -> Services: initInternal()
+activate Services
 
 Services -> Engine: init()
+activate Engine
+
+Engine -> Engine: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Engine -> Engine: initInternal()
+Engine -> Engine: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Engine
+deactivate Engine
+
 Services -> "Executor(s)" as Executors: init()
+activate Executors
+
+Executors -> Executors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Executors -> Executors: initInternal()
+Executors -> Executors: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Executors
+deactivate Executors
+
 Services -> "Mapper\nListener" as MapperListener: init()
+activate MapperListener
+
+MapperListener -> MapperListener: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+MapperListener -> MapperListener: initInternal()
+MapperListener -> MapperListener: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- MapperListener
+deactivate MapperListener
+
 Services -> "Connector(s)" as Connectors: init()
+activate Connectors
+
+Connectors -> Connectors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Connectors -> Connectors: initInternal()
+activate Connectors
 
 Connectors -->> CoyoteAdapter **
-activate CoyoteAdapter
 
 Connectors -> Protocol: setAdapter()
+activate Protocol
+Connectors <<-- Protocol
+deactivate Protocol
+
 Connectors -> Protocol: init()
+activate Protocol
+Connectors <<-- Protocol
+deactivate Protocol
+
+Connectors -->> Connectors
+deactivate Connectors
+
+Connectors -> Connectors: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Connectors
+deactivate Connectors
+
+Services -> Services: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services -->> Services
+deactivate Services
+
+Server <<-- Services
+deactivate Services
+
+Server -->> Server
+deactivate Server
+
+Server -> Server: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Server -->> Catalina
+deactivate Server
 
 @enduml
\ 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



(tomcat) branch 9.0.x updated: Add lifecycle events, correct activation, use aliases correctly

2024-09-06 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 4fb0e474f4 Add lifecycle events, correct activation, use aliases 
correctly
4fb0e474f4 is described below

commit 4fb0e474f4a10b76fc6f47c8c2c4538c2d3c8c4e
Author: Mark Thomas 
AuthorDate: Fri Sep 6 15:32:51 2024 +0100

Add lifecycle events, correct activation, use aliases correctly
---
 .../docs/architecture/startup/2_catalina_init.png  | Bin 30440 -> 114077 bytes
 .../docs/architecture/startup/2_catalina_init.uml  |  95 ++---
 2 files changed, 85 insertions(+), 10 deletions(-)

diff --git a/webapps/docs/architecture/startup/2_catalina_init.png 
b/webapps/docs/architecture/startup/2_catalina_init.png
index 9c8aef0ef8..63a31d6a81 100644
Binary files a/webapps/docs/architecture/startup/2_catalina_init.png and 
b/webapps/docs/architecture/startup/2_catalina_init.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.uml 
b/webapps/docs/architecture/startup/2_catalina_init.uml
index b02d57f5a3..de8b3432f5 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.uml
+++ b/webapps/docs/architecture/startup/2_catalina_init.uml
@@ -19,29 +19,104 @@ hide footbox
 skinparam style strictuml
 
 activate Catalina
-activate Server
-activate "Global\nNaming\nResources"
-activate Services
-activate Engine
-activate Executors
-activate MapperListener
-activate Connectors
-activate Protocol
 
 Catalina -> Server: init()
+activate Server
+
+Server -> Server: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+
+Server -> Server: initInternal()
+activate Server
+
+Server -> "Global\nNaming\nResources" as GNR: init()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+GNR -> GNR: initInternal()
+GNR -> GNR: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Server  <<-- GNR
+deactivate GNR
 
-Server -> "Global\nNaming\nResources" : init()
 Server -> "Service(s)" as Services: init()
+activate Services
+
+Services -> Services: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+
+Services -> Services: initInternal()
+activate Services
 
 Services -> Engine: init()
+activate Engine
+
+Engine -> Engine: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Engine -> Engine: initInternal()
+Engine -> Engine: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Engine
+deactivate Engine
+
 Services -> "Executor(s)" as Executors: init()
+activate Executors
+
+Executors -> Executors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Executors -> Executors: initInternal()
+Executors -> Executors: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Executors
+deactivate Executors
+
 Services -> "Mapper\nListener" as MapperListener: init()
+activate MapperListener
+
+MapperListener -> MapperListener: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+MapperListener -> MapperListener: initInternal()
+MapperListener -> MapperListener: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- MapperListener
+deactivate MapperListener
+
 Services -> "Connector(s)" as Connectors: init()
+activate Connectors
+
+Connectors -> Connectors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Connectors -> Connectors: initInternal()
+activate Connectors
 
 Connectors -->> CoyoteAdapter **
-activate CoyoteAdapter
 
 Connectors -> Protocol: setAdapter()
+activate Protocol
+Connectors <<-- Protocol
+deactivate Protocol
+
 Connectors -> Protocol: init()
+activate Protocol
+Connectors <<-- Protocol
+deactivate Protocol
+
+Connectors -->> Connectors
+deactivate Connectors
+
+Connectors -> Connectors: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Connectors
+deactivate Connectors
+
+Services -> Services: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services -->> Services
+deactivate Services
+
+Server <<-- Services
+deactivate Services
+
+Server -->> Server
+deactivate Server
+
+Server -> Server: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Server -->> Catalina
+deactivate Server
 
 @enduml
\ 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



Re: [VOTE] Release Apache Tomcat 9.0.94

2024-09-06 Thread Mark Thomas

On 05/09/2024 14:58, Rémy Maucherat wrote:


The proposed 9.0.94 release is:
[ ] -1, Broken - do not release
[X] +1, Stable - go ahead and release as 9.0.94


Tests pass on:
- Linux (OpenSSL 3.0.2 from Ubuntu 22.04)
- Windows (OpenSSL 3.0.14 - Native 2.0.8 binaries)
- MacOS (Intel) (OpenSSL 3.3.1)
- MacOS (M1 (OpenSSL 3.3.1)

The build is repeatable but not cross-platform repeatable (my fault - 
sorry - already fixed for 9.0.x)


Mark

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



Re: (tomcat) branch 9.0.x updated: Add lifecycle events, correct activation, use aliases correctly

2024-09-06 Thread Felix Schumacher

Nice to see, that plantuml really works.

We could use a few shortcuts to make the code more readable(?).

* activating an actor can be done by adding "++" to the message line, so 
instead of writing

    a -> b: message()
    activate b

   we could shorten it to
   a -> b ++: message()

* deactivating an actor directly after a return message, can be 
shortened using "return"


   a <<-- b
   deactivate b

   can be replaced by

    return

Another thing worth to mention might be, that the plantuml plug-in in VS 
Code will look at the file ending and expect it to be one of 
|*.wsd|,|*.pu|,|*.puml|,|*.plantuml|,|*.iuml|


|Kind regards|

| Felix
|

Am 06.09.24 um 16:36 schrieb ma...@apache.org:

This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/9.0.x by this push:
  new 4fb0e474f4 Add lifecycle events, correct activation, use aliases 
correctly
4fb0e474f4 is described below

commit 4fb0e474f4a10b76fc6f47c8c2c4538c2d3c8c4e
Author: Mark Thomas
AuthorDate: Fri Sep 6 15:32:51 2024 +0100

 Add lifecycle events, correct activation, use aliases correctly
---
  .../docs/architecture/startup/2_catalina_init.png  | Bin 30440 -> 114077 bytes
  .../docs/architecture/startup/2_catalina_init.uml  |  95 ++---
  2 files changed, 85 insertions(+), 10 deletions(-)

diff --git a/webapps/docs/architecture/startup/2_catalina_init.png 
b/webapps/docs/architecture/startup/2_catalina_init.png
index 9c8aef0ef8..63a31d6a81 100644
Binary files a/webapps/docs/architecture/startup/2_catalina_init.png and 
b/webapps/docs/architecture/startup/2_catalina_init.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.uml 
b/webapps/docs/architecture/startup/2_catalina_init.uml
index b02d57f5a3..de8b3432f5 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.uml
+++ b/webapps/docs/architecture/startup/2_catalina_init.uml
@@ -19,29 +19,104 @@ hide footbox
  skinparam style strictuml
  
  activate Catalina

-activate Server
-activate "Global\nNaming\nResources"
-activate Services
-activate Engine
-activate Executors
-activate MapperListener
-activate Connectors
-activate Protocol
  
  Catalina -> Server: init()

+activate Server
+
+Server -> Server: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+
+Server -> Server: initInternal()
+activate Server
+
+Server -> "Global\nNaming\nResources" as GNR: init()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+GNR -> GNR: initInternal()
+GNR -> GNR: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Server  <<-- GNR
+deactivate GNR
  
-Server -> "Global\nNaming\nResources" : init()

  Server -> "Service(s)" as Services: init()
+activate Services
+
+Services -> Services: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+
+Services -> Services: initInternal()
+activate Services
  
  Services -> Engine: init()

+activate Engine
+
+Engine -> Engine: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Engine -> Engine: initInternal()
+Engine -> Engine: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Engine
+deactivate Engine
+
  Services -> "Executor(s)" as Executors: init()
+activate Executors
+
+Executors -> Executors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Executors -> Executors: initInternal()
+Executors -> Executors: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Executors
+deactivate Executors
+
  Services -> "Mapper\nListener" as MapperListener: init()
+activate MapperListener
+
+MapperListener -> MapperListener: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+MapperListener -> MapperListener: initInternal()
+MapperListener -> MapperListener: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- MapperListener
+deactivate MapperListener
+
  Services -> "Connector(s)" as Connectors: init()
+activate Connectors
+
+Connectors -> Connectors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
+Connectors -> Connectors: initInternal()
+activate Connectors
  
  Connectors -->> CoyoteAdapter **

-activate CoyoteAdapter
  
  Connectors -> Protocol: setAdapter()

+activate Protocol
+Connectors <<-- Protocol
+deactivate Protocol
+
  Connectors -> Protocol: init()
+activate Protocol
+Connectors <<-- Protocol
+deactivate Protocol
+
+Connectors -->> Connectors
+deactivate Connectors
+
+Connectors -> Connectors: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services <<-- Connectors
+deactivate Connectors
+
+Services -> Services: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Services -->> Services
+deactivate Services
+
+Server <<-- Services
+deactivate Services
+
+Server -->> Server
+deactivate Server
+
+Server -> Server: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
+Server -->> Catalina
+deactivate Server
  
  @enduml

\ No newline at end of file


-
To unsubscribe, e-mail:dev-unsubscr...@tomcat.apac

Re: [VOTE] Release Apache Tomcat 10.1.29

2024-09-06 Thread Mark Thomas

On 06/09/2024 16:43, Christopher Schultz wrote:


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


+1

Tests pass on:
- Linux (OpenSSL 3.0.2 from Ubuntu 22.04)
- Windows (OpenSSL 3.0.14 - Native 2.0.8 binaries)
- MacOS (Intel) (OpenSSL 3.3.1)
- MacOS (M1 (OpenSSL 3.3.1)

The build is repeatable but not cross-platform repeatable (my fault - 
sorry - already fixed for 10.1.x)


Mark

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



(tomcat) branch main updated: Convert diagram 3, the first part of the start process

2024-09-06 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 9f525abe27 Convert diagram 3, the first part of the start process
9f525abe27 is described below

commit 9f525abe27d10b7cf302409fcf8f9f20d1a27981
Author: Mark Thomas 
AuthorDate: Fri Sep 6 16:39:21 2024 +0100

Convert diagram 3, the first part of the start process
---
 webapps/docs/architecture/startup.xml  |   6 +-
 .../architecture/startup/3_catalina_start_1.png| Bin 0 -> 158971 bytes
 .../architecture/startup/3_catalina_start_1.svg| 762 -
 .../architecture/startup/3_catalina_start_1.uml| 154 +
 4 files changed, 158 insertions(+), 764 deletions(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index 2d4748face..46fa95836e 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -80,8 +80,10 @@ only has one. Each Service may have multiple Connectors. A 
Connector instance is
 associated with a single Protocol instance and a single CoyoteAdapter instance.
 
 
-Diagram 3 will show how the Server initialises the Service(s), Engine(s) and
-Host(s).
+Diagram 3 shows how Tomcat starts
+the objects created by the Digester that were initialized in the previous step.
+This diagram also shows when lifecycle events are fired. There is more detail 
to
+the starting of the Engine which is shown inthe following diagram.
 
 
 Diagram 4 will show how the Host initialises the Context(s).
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.png 
b/webapps/docs/architecture/startup/3_catalina_start_1.png
new file mode 100644
index 00..3d8d57fbaa
Binary files /dev/null and 
b/webapps/docs/architecture/startup/3_catalina_start_1.png differ
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.svg 
b/webapps/docs/architecture/startup/3_catalina_start_1.svg
deleted file mode 100644
index 2f0dc2399e..00
--- a/webapps/docs/architecture/startup/3_catalina_start_1.svg
+++ /dev/null
@@ -1,762 +0,0 @@
-
-http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
-http://www.w3.org/1999/xlink"; 
color-rendering="auto" color-interpolation="auto" text-rendering="auto" 
stroke="rgb(0,0,0)" stroke-linecap="square" width="761" stroke-miterlimit="10" 
shape-rendering="auto" stroke-opacity="0" fill="rgb(0,0,0)" 
stroke-dasharray="none" font-weight="normal" stroke-width="1" height="943" 
xmlns="http://www.w3.org/2000/svg"; font-family="'Dialog'" font-style="normal" 
stroke-linejoin="miter" font-size="12px" stroke-dashoffset="0"  [...]
->StandardPipelineStandardHostStandardEngineStandardServiceStandardServerCatalinaBootstrapfireLifecycleEvent(AFTER_EVENT)fireLifecycleEvent(START_EVENT)fireLifecycleEvent(BEFORE_START_EVENT)findChildren()findMapper()logger.start()start()addDefaultMapper()fireLifecycleEvent(BEFORE_START_EVENT)start()findChildren()findMappers()realm.start()logger.start()addDefaultMapper()fireLifecycleEvent(BEFORE_START_EVENT)start()fireLifecycleEvent(START_EVENT)fireLifecycleEvent(BEFORE_START_EVENT)start()fireLifecycleEvent(START_EVENT)fireLifecycleEvent(BEFORE_START_EVENT)start()start()
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.uml 
b/webapps/docs/architecture/startup/3_catalina_start_1.uml
new file mode 100644
index 00..2872395dd4
--- /dev/null
+++ b/webapps/docs/architecture/startup/3_catalina_start_1.uml
@@ -0,0 +1,154 @@
+@startuml
+
+' Licensed to the Apache Software Foundation (ASF) under one or more
+' contributor license agreements.  See the NOTICE file distributed with
+' this work for additional information regarding copyright ownership.
+' The ASF licenses this file to You under the Apache License, Version 2.0
+' (the "License"); you may not use this file except in compliance with
+' the License.  You may obtain a copy of the License at
+'
+' http://www.apache.org/licenses/LICENSE-2.0
+'
+' Unless required by applicable law or agreed to in writing, software
+' distributed under the License is distributed on an "AS IS" BASIS,
+' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+' See the License for the specific language governing permissions and
+' limitations under the License.
+
+hide footbox
+skinparam style strictuml
+
+activate Catalina
+
+Catalina -> Server: start()
+activate Server
+
+Server -> Server: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Server -> Server: startInternal()
+activate Server
+
+Server -> Server: fireLifecycleEvent(\nCONFIGURE_START_EVENT)
+Server -> Server: fireLifecycleEvent(\nSTART_EVENT)
+
+Server -> "Global\nNaming\nResources" as GNR: start()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nBEFORE_START_EVENT)
+GNR -> GNR: startInternal()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nCO

(tomcat) branch 11.0.x updated: Convert diagram 3, the first part of the start process

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

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


The following commit(s) were added to refs/heads/11.0.x by this push:
 new e316affa7e Convert diagram 3, the first part of the start process
e316affa7e is described below

commit e316affa7e130cf576ac705a7d1b2faa89b72fe6
Author: Mark Thomas 
AuthorDate: Fri Sep 6 16:39:21 2024 +0100

Convert diagram 3, the first part of the start process
---
 webapps/docs/architecture/startup.xml  |   6 +-
 .../architecture/startup/3_catalina_start_1.png| Bin 0 -> 158971 bytes
 .../architecture/startup/3_catalina_start_1.svg| 762 -
 .../architecture/startup/3_catalina_start_1.uml| 154 +
 4 files changed, 158 insertions(+), 764 deletions(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index 6bdd7d1b38..10d423ec3b 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -80,8 +80,10 @@ only has one. Each Service may have multiple Connectors. A 
Connector instance is
 associated with a single Protocol instance and a single CoyoteAdapter instance.
 
 
-Diagram 3 will show how the Server initialises the Service(s), Engine(s) and
-Host(s).
+Diagram 3 shows how Tomcat starts
+the objects created by the Digester that were initialized in the previous step.
+This diagram also shows when lifecycle events are fired. There is more detail 
to
+the starting of the Engine which is shown inthe following diagram.
 
 
 Diagram 4 will show how the Host initialises the Context(s).
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.png 
b/webapps/docs/architecture/startup/3_catalina_start_1.png
new file mode 100644
index 00..3d8d57fbaa
Binary files /dev/null and 
b/webapps/docs/architecture/startup/3_catalina_start_1.png differ
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.svg 
b/webapps/docs/architecture/startup/3_catalina_start_1.svg
deleted file mode 100644
index 2f0dc2399e..00
--- a/webapps/docs/architecture/startup/3_catalina_start_1.svg
+++ /dev/null
@@ -1,762 +0,0 @@
-
-http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
-http://www.w3.org/1999/xlink"; 
color-rendering="auto" color-interpolation="auto" text-rendering="auto" 
stroke="rgb(0,0,0)" stroke-linecap="square" width="761" stroke-miterlimit="10" 
shape-rendering="auto" stroke-opacity="0" fill="rgb(0,0,0)" 
stroke-dasharray="none" font-weight="normal" stroke-width="1" height="943" 
xmlns="http://www.w3.org/2000/svg"; font-family="'Dialog'" font-style="normal" 
stroke-linejoin="miter" font-size="12px" stroke-dashoffset="0"  [...]
->StandardPipelineStandardHostStandardEngineStandardServiceStandardServerCatalinaBootstrapfireLifecycleEvent(AFTER_EVENT)fireLifecycleEvent(START_EVENT)fireLifecycleEvent(BEFORE_START_EVENT)findChildren()findMapper()logger.start()start()addDefaultMapper()fireLifecycleEvent(BEFORE_START_EVENT)start()findChildren()findMappers()realm.start()logger.start()addDefaultMapper()fireLifecycleEvent(BEFORE_START_EVENT)start()fireLifecycleEvent(START_EVENT)fireLifecycleEvent(BEFORE_START_EVENT)start()fireLifecycleEvent(START_EVENT)fireLifecycleEvent(BEFORE_START_EVENT)start()start()
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.uml 
b/webapps/docs/architecture/startup/3_catalina_start_1.uml
new file mode 100644
index 00..2872395dd4
--- /dev/null
+++ b/webapps/docs/architecture/startup/3_catalina_start_1.uml
@@ -0,0 +1,154 @@
+@startuml
+
+' Licensed to the Apache Software Foundation (ASF) under one or more
+' contributor license agreements.  See the NOTICE file distributed with
+' this work for additional information regarding copyright ownership.
+' The ASF licenses this file to You under the Apache License, Version 2.0
+' (the "License"); you may not use this file except in compliance with
+' the License.  You may obtain a copy of the License at
+'
+' http://www.apache.org/licenses/LICENSE-2.0
+'
+' Unless required by applicable law or agreed to in writing, software
+' distributed under the License is distributed on an "AS IS" BASIS,
+' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+' See the License for the specific language governing permissions and
+' limitations under the License.
+
+hide footbox
+skinparam style strictuml
+
+activate Catalina
+
+Catalina -> Server: start()
+activate Server
+
+Server -> Server: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Server -> Server: startInternal()
+activate Server
+
+Server -> Server: fireLifecycleEvent(\nCONFIGURE_START_EVENT)
+Server -> Server: fireLifecycleEvent(\nSTART_EVENT)
+
+Server -> "Global\nNaming\nResources" as GNR: start()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nBEFORE_START_EVENT)
+GNR -> GNR: startInternal()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\n  

(tomcat) branch 10.1.x updated: Convert diagram 3, the first part of the start process

2024-09-06 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 0532aeca50 Convert diagram 3, the first part of the start process
0532aeca50 is described below

commit 0532aeca5033324cb9703701fcec9cb447d9f8a8
Author: Mark Thomas 
AuthorDate: Fri Sep 6 16:39:21 2024 +0100

Convert diagram 3, the first part of the start process
---
 webapps/docs/architecture/startup.xml  |   6 +-
 .../architecture/startup/3_catalina_start_1.png| Bin 0 -> 158971 bytes
 .../architecture/startup/3_catalina_start_1.uml| 154 +
 3 files changed, 158 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index 6bdd7d1b38..10d423ec3b 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -80,8 +80,10 @@ only has one. Each Service may have multiple Connectors. A 
Connector instance is
 associated with a single Protocol instance and a single CoyoteAdapter instance.
 
 
-Diagram 3 will show how the Server initialises the Service(s), Engine(s) and
-Host(s).
+Diagram 3 shows how Tomcat starts
+the objects created by the Digester that were initialized in the previous step.
+This diagram also shows when lifecycle events are fired. There is more detail 
to
+the starting of the Engine which is shown inthe following diagram.
 
 
 Diagram 4 will show how the Host initialises the Context(s).
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.png 
b/webapps/docs/architecture/startup/3_catalina_start_1.png
new file mode 100644
index 00..3d8d57fbaa
Binary files /dev/null and 
b/webapps/docs/architecture/startup/3_catalina_start_1.png differ
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.uml 
b/webapps/docs/architecture/startup/3_catalina_start_1.uml
new file mode 100644
index 00..2872395dd4
--- /dev/null
+++ b/webapps/docs/architecture/startup/3_catalina_start_1.uml
@@ -0,0 +1,154 @@
+@startuml
+
+' Licensed to the Apache Software Foundation (ASF) under one or more
+' contributor license agreements.  See the NOTICE file distributed with
+' this work for additional information regarding copyright ownership.
+' The ASF licenses this file to You under the Apache License, Version 2.0
+' (the "License"); you may not use this file except in compliance with
+' the License.  You may obtain a copy of the License at
+'
+' http://www.apache.org/licenses/LICENSE-2.0
+'
+' Unless required by applicable law or agreed to in writing, software
+' distributed under the License is distributed on an "AS IS" BASIS,
+' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+' See the License for the specific language governing permissions and
+' limitations under the License.
+
+hide footbox
+skinparam style strictuml
+
+activate Catalina
+
+Catalina -> Server: start()
+activate Server
+
+Server -> Server: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Server -> Server: startInternal()
+activate Server
+
+Server -> Server: fireLifecycleEvent(\nCONFIGURE_START_EVENT)
+Server -> Server: fireLifecycleEvent(\nSTART_EVENT)
+
+Server -> "Global\nNaming\nResources" as GNR: start()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nBEFORE_START_EVENT)
+GNR -> GNR: startInternal()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nCONFIGURE_START_EVENT)
+GNR -> GNR: fireLifecycleEvent(\nSTART_EVENT)
+
+GNR -->> GNR
+deactivate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nAFTER_START_EVENT)
+
+Server  <<-- GNR
+deactivate GNR
+
+Server -> "Service(s)" as Services: start()
+activate Services
+
+Services -> Services: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Services -> Services: startInternal()
+activate Services
+
+Services -> Services: fireLifecycleEvent(\nSTART_EVENT)
+
+Services -> Engine: start()
+activate Engine
+
+Engine -> Engine: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Engine -> Engine: startInternal()
+activate Engine
+
+Engine -> Engine: fireLifecycleEvent(\nSTART_EVENT)
+
+Engine -->> Engine
+deactivate Engine
+
+Engine -> Engine: fireLifecycleEvent(\nAFTER_START_EVENT)
+
+Services <<-- Engine
+deactivate Engine
+
+Services -> "Executor(s)" as Executors: start()
+activate Executors
+
+Executors -> Executors: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Executors -> Executors: startInternal()
+activate Executors
+
+Executors -> Executors: fireLifecycleEvent(\nSTART_EVENT)
+
+Executors -->> Executors
+deactivate Executors
+
+Executors -> Executors: fireLifecycleEvent(\nAFTER_START_EVENT)
+
+Services <<-- Executors
+deactivate Executors
+
+Services -> "Mapper\nListener" as MapperListener: start()
+activate MapperListener
+
+MapperListener -> MapperListener: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+MapperL

(tomcat) branch 9.0.x updated: Convert diagram 3, the first part of the start process

2024-09-06 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 9f3554b831 Convert diagram 3, the first part of the start process
9f3554b831 is described below

commit 9f3554b83165a4af4c0c046fb91988dd15439cc0
Author: Mark Thomas 
AuthorDate: Fri Sep 6 16:39:21 2024 +0100

Convert diagram 3, the first part of the start process
---
 webapps/docs/architecture/startup.xml  |   6 +-
 .../architecture/startup/3_catalina_start_1.png| Bin 0 -> 158971 bytes
 .../architecture/startup/3_catalina_start_1.uml| 154 +
 3 files changed, 158 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index 6bdd7d1b38..10d423ec3b 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -80,8 +80,10 @@ only has one. Each Service may have multiple Connectors. A 
Connector instance is
 associated with a single Protocol instance and a single CoyoteAdapter instance.
 
 
-Diagram 3 will show how the Server initialises the Service(s), Engine(s) and
-Host(s).
+Diagram 3 shows how Tomcat starts
+the objects created by the Digester that were initialized in the previous step.
+This diagram also shows when lifecycle events are fired. There is more detail 
to
+the starting of the Engine which is shown inthe following diagram.
 
 
 Diagram 4 will show how the Host initialises the Context(s).
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.png 
b/webapps/docs/architecture/startup/3_catalina_start_1.png
new file mode 100644
index 00..3d8d57fbaa
Binary files /dev/null and 
b/webapps/docs/architecture/startup/3_catalina_start_1.png differ
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.uml 
b/webapps/docs/architecture/startup/3_catalina_start_1.uml
new file mode 100644
index 00..2872395dd4
--- /dev/null
+++ b/webapps/docs/architecture/startup/3_catalina_start_1.uml
@@ -0,0 +1,154 @@
+@startuml
+
+' Licensed to the Apache Software Foundation (ASF) under one or more
+' contributor license agreements.  See the NOTICE file distributed with
+' this work for additional information regarding copyright ownership.
+' The ASF licenses this file to You under the Apache License, Version 2.0
+' (the "License"); you may not use this file except in compliance with
+' the License.  You may obtain a copy of the License at
+'
+' http://www.apache.org/licenses/LICENSE-2.0
+'
+' Unless required by applicable law or agreed to in writing, software
+' distributed under the License is distributed on an "AS IS" BASIS,
+' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+' See the License for the specific language governing permissions and
+' limitations under the License.
+
+hide footbox
+skinparam style strictuml
+
+activate Catalina
+
+Catalina -> Server: start()
+activate Server
+
+Server -> Server: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Server -> Server: startInternal()
+activate Server
+
+Server -> Server: fireLifecycleEvent(\nCONFIGURE_START_EVENT)
+Server -> Server: fireLifecycleEvent(\nSTART_EVENT)
+
+Server -> "Global\nNaming\nResources" as GNR: start()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nBEFORE_START_EVENT)
+GNR -> GNR: startInternal()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nCONFIGURE_START_EVENT)
+GNR -> GNR: fireLifecycleEvent(\nSTART_EVENT)
+
+GNR -->> GNR
+deactivate GNR
+
+GNR -> GNR: fireLifecycleEvent(\nAFTER_START_EVENT)
+
+Server  <<-- GNR
+deactivate GNR
+
+Server -> "Service(s)" as Services: start()
+activate Services
+
+Services -> Services: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Services -> Services: startInternal()
+activate Services
+
+Services -> Services: fireLifecycleEvent(\nSTART_EVENT)
+
+Services -> Engine: start()
+activate Engine
+
+Engine -> Engine: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Engine -> Engine: startInternal()
+activate Engine
+
+Engine -> Engine: fireLifecycleEvent(\nSTART_EVENT)
+
+Engine -->> Engine
+deactivate Engine
+
+Engine -> Engine: fireLifecycleEvent(\nAFTER_START_EVENT)
+
+Services <<-- Engine
+deactivate Engine
+
+Services -> "Executor(s)" as Executors: start()
+activate Executors
+
+Executors -> Executors: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Executors -> Executors: startInternal()
+activate Executors
+
+Executors -> Executors: fireLifecycleEvent(\nSTART_EVENT)
+
+Executors -->> Executors
+deactivate Executors
+
+Executors -> Executors: fireLifecycleEvent(\nAFTER_START_EVENT)
+
+Services <<-- Executors
+deactivate Executors
+
+Services -> "Mapper\nListener" as MapperListener: start()
+activate MapperListener
+
+MapperListener -> MapperListener: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+MapperLis

(tomcat) branch main updated: Correct point at which Services fires AFTER_INIT_EVENT

2024-09-06 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 796f40d149 Correct point at which Services fires AFTER_INIT_EVENT
796f40d149 is described below

commit 796f40d14922a75969e3e87713c7c2ebc4b4f9ac
Author: Mark Thomas 
AuthorDate: Fri Sep 6 16:48:04 2024 +0100

Correct point at which Services fires AFTER_INIT_EVENT
---
 .../docs/architecture/startup/2_catalina_init.png  | Bin 114077 -> 114189 bytes
 .../docs/architecture/startup/2_catalina_init.uml  |   4 ++--
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/architecture/startup/2_catalina_init.png 
b/webapps/docs/architecture/startup/2_catalina_init.png
index 63a31d6a81..efc4632bea 100644
Binary files a/webapps/docs/architecture/startup/2_catalina_init.png and 
b/webapps/docs/architecture/startup/2_catalina_init.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.uml 
b/webapps/docs/architecture/startup/2_catalina_init.uml
index de8b3432f5..bf260d7cb8 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.uml
+++ b/webapps/docs/architecture/startup/2_catalina_init.uml
@@ -103,11 +103,11 @@ Connectors -> Connectors: fireLifecycleEvent(\n
AFTER_INIT_EVENT)
 Services <<-- Connectors
 deactivate Connectors
 
-Services -> Services: fireLifecycleEvent(\nAFTER_INIT_EVENT)
-
 Services -->> Services
 deactivate Services
 
+Services -> Services: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
 Server <<-- Services
 deactivate Services
 


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



(tomcat) branch 11.0.x updated: Correct point at which Services fires AFTER_INIT_EVENT

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

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


The following commit(s) were added to refs/heads/11.0.x by this push:
 new 8c2d59de01 Correct point at which Services fires AFTER_INIT_EVENT
8c2d59de01 is described below

commit 8c2d59de015a1d1b01188760cbf276ba73fca8bf
Author: Mark Thomas 
AuthorDate: Fri Sep 6 16:48:04 2024 +0100

Correct point at which Services fires AFTER_INIT_EVENT
---
 .../docs/architecture/startup/2_catalina_init.png  | Bin 114077 -> 114189 bytes
 .../docs/architecture/startup/2_catalina_init.uml  |   4 ++--
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/architecture/startup/2_catalina_init.png 
b/webapps/docs/architecture/startup/2_catalina_init.png
index 63a31d6a81..efc4632bea 100644
Binary files a/webapps/docs/architecture/startup/2_catalina_init.png and 
b/webapps/docs/architecture/startup/2_catalina_init.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.uml 
b/webapps/docs/architecture/startup/2_catalina_init.uml
index de8b3432f5..bf260d7cb8 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.uml
+++ b/webapps/docs/architecture/startup/2_catalina_init.uml
@@ -103,11 +103,11 @@ Connectors -> Connectors: fireLifecycleEvent(\n
AFTER_INIT_EVENT)
 Services <<-- Connectors
 deactivate Connectors
 
-Services -> Services: fireLifecycleEvent(\nAFTER_INIT_EVENT)
-
 Services -->> Services
 deactivate Services
 
+Services -> Services: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
 Server <<-- Services
 deactivate Services
 


-
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: Correct point at which Services fires AFTER_INIT_EVENT

2024-09-06 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 235710c73b Correct point at which Services fires AFTER_INIT_EVENT
235710c73b is described below

commit 235710c73b3c6ba802ce7df077295020bdd76211
Author: Mark Thomas 
AuthorDate: Fri Sep 6 16:48:04 2024 +0100

Correct point at which Services fires AFTER_INIT_EVENT
---
 .../docs/architecture/startup/2_catalina_init.png  | Bin 114077 -> 114189 bytes
 .../docs/architecture/startup/2_catalina_init.uml  |   4 ++--
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/architecture/startup/2_catalina_init.png 
b/webapps/docs/architecture/startup/2_catalina_init.png
index 63a31d6a81..efc4632bea 100644
Binary files a/webapps/docs/architecture/startup/2_catalina_init.png and 
b/webapps/docs/architecture/startup/2_catalina_init.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.uml 
b/webapps/docs/architecture/startup/2_catalina_init.uml
index de8b3432f5..bf260d7cb8 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.uml
+++ b/webapps/docs/architecture/startup/2_catalina_init.uml
@@ -103,11 +103,11 @@ Connectors -> Connectors: fireLifecycleEvent(\n
AFTER_INIT_EVENT)
 Services <<-- Connectors
 deactivate Connectors
 
-Services -> Services: fireLifecycleEvent(\nAFTER_INIT_EVENT)
-
 Services -->> Services
 deactivate Services
 
+Services -> Services: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+
 Server <<-- Services
 deactivate Services
 


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



Re: (tomcat) branch 9.0.x updated: Add lifecycle events, correct activation, use aliases correctly

2024-09-06 Thread Mark Thomas

On 06/09/2024 16:13, Felix Schumacher wrote:

Nice to see, that plantuml really works.


+1

Thanks again for your help getting it to behave the way we (OK - I) want.


We could use a few shortcuts to make the code more readable(?).

* activating an actor can be done by adding "++" to the message line, so 
instead of writing

     a -> b: message()
     activate b

    we could shorten it to
    a -> b ++: message()

* deactivating an actor directly after a return message, can be 
shortened using "return"


    a <<-- b
    deactivate b

    can be replaced by

     return


Those look good to me. I'll see about making those refactorings.

Another thing worth to mention might be, that the plantuml plug-in in VS 
Code will look at the file ending and expect it to be one of 
|*.wsd|,|*.pu|,|*.puml|,|*.plantuml|,|*.iuml|


I'll change the extension to plantuml - might as well be explicit.

Mark

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



(tomcat) branch main updated: Rename PlantUML files to use explicit file extension (helps editors)

2024-09-06 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 11b5a10ee2 Rename PlantUML files to use explicit file extension (helps 
editors)
11b5a10ee2 is described below

commit 11b5a10ee2cdac23f3a307c7449d9970c00080eb
Author: Mark Thomas 
AuthorDate: Fri Sep 6 16:54:04 2024 +0100

Rename PlantUML files to use explicit file extension (helps editors)
---
 build.xml   | 2 +-
 .../docs/architecture/startup/{1_overview.uml => 1_overview.plantuml}   | 0
 .../startup/{2_catalina_init.uml => 2_catalina_init.plantuml}   | 0
 .../startup/{3_catalina_start_1.uml => 3_catalina_start_1.plantuml} | 0
 4 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.xml b/build.xml
index c0402e2421..88c9ac6725 100644
--- a/build.xml
+++ b/build.xml
@@ -342,6 +342,7 @@
 
 
 
+
 
 
 
@@ -356,7 +357,6 @@
 
 
 
-
 
 
 
diff --git a/webapps/docs/architecture/startup/1_overview.uml 
b/webapps/docs/architecture/startup/1_overview.plantuml
similarity index 100%
rename from webapps/docs/architecture/startup/1_overview.uml
rename to webapps/docs/architecture/startup/1_overview.plantuml
diff --git a/webapps/docs/architecture/startup/2_catalina_init.uml 
b/webapps/docs/architecture/startup/2_catalina_init.plantuml
similarity index 100%
rename from webapps/docs/architecture/startup/2_catalina_init.uml
rename to webapps/docs/architecture/startup/2_catalina_init.plantuml
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.uml 
b/webapps/docs/architecture/startup/3_catalina_start_1.plantuml
similarity index 100%
rename from webapps/docs/architecture/startup/3_catalina_start_1.uml
rename to webapps/docs/architecture/startup/3_catalina_start_1.plantuml


-
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: Rename PlantUML files to use explicit file extension (helps editors)

2024-09-06 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 97a4ea2cf4 Rename PlantUML files to use explicit file extension (helps 
editors)
97a4ea2cf4 is described below

commit 97a4ea2cf4d8cffd21bbaf28d7e66f2fcb40c234
Author: Mark Thomas 
AuthorDate: Fri Sep 6 16:54:04 2024 +0100

Rename PlantUML files to use explicit file extension (helps editors)
---
 build.xml   | 2 +-
 .../docs/architecture/startup/{1_overview.uml => 1_overview.plantuml}   | 0
 .../startup/{2_catalina_init.uml => 2_catalina_init.plantuml}   | 0
 .../startup/{3_catalina_start_1.uml => 3_catalina_start_1.plantuml} | 0
 4 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.xml b/build.xml
index 4955868679..a58ccb3c61 100644
--- a/build.xml
+++ b/build.xml
@@ -346,6 +346,7 @@
 
 
 
+
 
 
 
@@ -360,7 +361,6 @@
 
 
 
-
 
 
 
diff --git a/webapps/docs/architecture/startup/1_overview.uml 
b/webapps/docs/architecture/startup/1_overview.plantuml
similarity index 100%
rename from webapps/docs/architecture/startup/1_overview.uml
rename to webapps/docs/architecture/startup/1_overview.plantuml
diff --git a/webapps/docs/architecture/startup/2_catalina_init.uml 
b/webapps/docs/architecture/startup/2_catalina_init.plantuml
similarity index 100%
rename from webapps/docs/architecture/startup/2_catalina_init.uml
rename to webapps/docs/architecture/startup/2_catalina_init.plantuml
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.uml 
b/webapps/docs/architecture/startup/3_catalina_start_1.plantuml
similarity index 100%
rename from webapps/docs/architecture/startup/3_catalina_start_1.uml
rename to webapps/docs/architecture/startup/3_catalina_start_1.plantuml


-
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: Rename PlantUML files to use explicit file extension (helps editors)

2024-09-06 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 1ddc348045 Rename PlantUML files to use explicit file extension (helps 
editors)
1ddc348045 is described below

commit 1ddc348045e5fabdc9dce2e6cacb7bd3fc66f56a
Author: Mark Thomas 
AuthorDate: Fri Sep 6 16:54:04 2024 +0100

Rename PlantUML files to use explicit file extension (helps editors)
---
 build.xml   | 2 +-
 .../docs/architecture/startup/{1_overview.uml => 1_overview.plantuml}   | 0
 .../startup/{2_catalina_init.uml => 2_catalina_init.plantuml}   | 0
 .../startup/{3_catalina_start_1.uml => 3_catalina_start_1.plantuml} | 0
 4 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.xml b/build.xml
index 1b0cbc064f..8bab45d924 100644
--- a/build.xml
+++ b/build.xml
@@ -342,6 +342,7 @@
 
 
 
+
 
 
 
@@ -356,7 +357,6 @@
 
 
 
-
 
 
 
diff --git a/webapps/docs/architecture/startup/1_overview.uml 
b/webapps/docs/architecture/startup/1_overview.plantuml
similarity index 100%
rename from webapps/docs/architecture/startup/1_overview.uml
rename to webapps/docs/architecture/startup/1_overview.plantuml
diff --git a/webapps/docs/architecture/startup/2_catalina_init.uml 
b/webapps/docs/architecture/startup/2_catalina_init.plantuml
similarity index 100%
rename from webapps/docs/architecture/startup/2_catalina_init.uml
rename to webapps/docs/architecture/startup/2_catalina_init.plantuml
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.uml 
b/webapps/docs/architecture/startup/3_catalina_start_1.plantuml
similarity index 100%
rename from webapps/docs/architecture/startup/3_catalina_start_1.uml
rename to webapps/docs/architecture/startup/3_catalina_start_1.plantuml


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



(tomcat) branch main updated: Use shorthand for activate

2024-09-06 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 e34d8e05c7 Use shorthand for activate
e34d8e05c7 is described below

commit e34d8e05c700f22f26e766d88e51169a2792c7e8
Author: Mark Thomas 
AuthorDate: Fri Sep 6 17:16:27 2024 +0100

Use shorthand for activate

a -> b: message()
activate b

is shortened to

a -> b ++: message()
---
 .../docs/architecture/startup/1_overview.plantuml  |  33 ++-
 webapps/docs/architecture/startup/1_overview.png   | Bin 45967 -> 46300 bytes
 .../architecture/startup/2_catalina_init.plantuml  |  37 ++---
 .../docs/architecture/startup/2_catalina_init.png  | Bin 114189 -> 114163 bytes
 .../startup/3_catalina_start_1.plantuml|  45 +++--
 .../architecture/startup/3_catalina_start_1.png| Bin 158971 -> 158947 bytes
 6 files changed, 41 insertions(+), 74 deletions(-)

diff --git a/webapps/docs/architecture/startup/1_overview.plantuml 
b/webapps/docs/architecture/startup/1_overview.plantuml
index 6c55c1c9b4..fe7dcf58a0 100644
--- a/webapps/docs/architecture/startup/1_overview.plantuml
+++ b/webapps/docs/architecture/startup/1_overview.plantuml
@@ -23,22 +23,18 @@ Bootstrap -> Bootstrap: initClassLoaders()
 
 Bootstrap -->> Catalina ** : newInstance()
 
-Bootstrap -> Catalina: setParentClassLoader()
-activate Catalina
+Bootstrap -> Catalina ++: setParentClassLoader()
 |||
 Bootstrap <<-- Catalina:
 deactivate Catalina
 
-Bootstrap -> Catalina: start()
-activate Catalina
+Bootstrap -> Catalina ++: start()
 
-Catalina -> Catalina: load()
-activate Catalina
+Catalina -> Catalina ++: load()
 
 Catalina -> Catalina: initNaming()
 
-Catalina -> Catalina: parseServerXml()
-activate Catalina
+Catalina -> Catalina ++: parseServerXml()
 
 Catalina -->> Digester ** :
 note right of Digester
@@ -49,8 +45,7 @@ note right of Digester
   simplicity
 end note
 
-Catalina -> Digester: parse()
-activate Digester
+Catalina -> Digester ++: parse()
 |||
 
 Digester -->> Server ** :
@@ -63,8 +58,7 @@ deactivate Catalina
 
 Catalina -> Catalina: initStream()
 
-Catalina -> Server: init()
-activate Server
+Catalina -> Server ++: init()
 |||
 Catalina <<-- Server:
 deactivate Server
@@ -72,12 +66,11 @@ deactivate Server
 Catalina -->> Catalina:
 deactivate Catalina
 
-Catalina -> Server: start()
-activate Server
+Catalina -> Server ++: start()
 Catalina <<-- Server:
+deactivate Server
 
-Catalina -> Catalina: await()
-activate Catalina
+Catalina -> Catalina ++: await()
 note right of Catalina
   This is where Tomcat spends
   time serving requests
@@ -85,13 +78,13 @@ end note
 Catalina -->> Catalina:
 deactivate Catalina
 
-Catalina -> Catalina: stop()
-activate Catalina
+Catalina -> Catalina ++: stop()
 
-Catalina -> Server: stop()
+Catalina -> Server ++: stop()
 Catalina <<-- Server:
+deactivate Server
 
-Catalina -> Server: destroy()
+Catalina -> Server ++: destroy()
 Catalina <<-- Server:
 deactivate Server
 
diff --git a/webapps/docs/architecture/startup/1_overview.png 
b/webapps/docs/architecture/startup/1_overview.png
index c35fc974bf..b94efeef18 100644
Binary files a/webapps/docs/architecture/startup/1_overview.png and 
b/webapps/docs/architecture/startup/1_overview.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.plantuml 
b/webapps/docs/architecture/startup/2_catalina_init.plantuml
index bf260d7cb8..6010e7b1e7 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.plantuml
+++ b/webapps/docs/architecture/startup/2_catalina_init.plantuml
@@ -20,16 +20,13 @@ skinparam style strictuml
 
 activate Catalina
 
-Catalina -> Server: init()
-activate Server
+Catalina -> Server ++: init()
 
 Server -> Server: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 
-Server -> Server: initInternal()
-activate Server
+Server -> Server ++: initInternal()
 
-Server -> "Global\nNaming\nResources" as GNR: init()
-activate GNR
+Server -> "Global\nNaming\nResources" as GNR ++: init()
 
 GNR -> GNR: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 GNR -> GNR: initInternal()
@@ -38,16 +35,13 @@ GNR -> GNR: fireLifecycleEvent(\nAFTER_INIT_EVENT)
 Server  <<-- GNR
 deactivate GNR
 
-Server -> "Service(s)" as Services: init()
-activate Services
+Server -> "Service(s)" as Services ++: init()
 
 Services -> Services: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 
-Services -> Services: initInternal()
-activate Services
+Services -> Services ++: initInternal()
 
-Services -> Engine: init()
-activate Engine
+Services -> Engine ++: init()
 
 Engine -> Engine: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 Engine -> Engine: initInternal()
@@ -56,8 +50,7 @@ Engine -> Engine: fireLifecycleEvent(\nAFTER_INIT_EVENT)
 Services <<-- Engine
 deactivate Engine
 
-Services -> "Executor(s)" as Executors: init()
-activate Executors
+Services

(tomcat) branch 10.1.x updated: Use shorthand for activate

2024-09-06 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 15e82a2151 Use shorthand for activate
15e82a2151 is described below

commit 15e82a215137b7355b4e79ed7547e34a4ea92e9a
Author: Mark Thomas 
AuthorDate: Fri Sep 6 17:16:27 2024 +0100

Use shorthand for activate

a -> b: message()
activate b

is shortened to

a -> b ++: message()
---
 .../docs/architecture/startup/1_overview.plantuml  |  33 ++-
 webapps/docs/architecture/startup/1_overview.png   | Bin 45967 -> 46300 bytes
 .../architecture/startup/2_catalina_init.plantuml  |  37 ++---
 .../docs/architecture/startup/2_catalina_init.png  | Bin 114189 -> 114163 bytes
 .../startup/3_catalina_start_1.plantuml|  45 +++--
 .../architecture/startup/3_catalina_start_1.png| Bin 158971 -> 158947 bytes
 6 files changed, 41 insertions(+), 74 deletions(-)

diff --git a/webapps/docs/architecture/startup/1_overview.plantuml 
b/webapps/docs/architecture/startup/1_overview.plantuml
index 6c55c1c9b4..fe7dcf58a0 100644
--- a/webapps/docs/architecture/startup/1_overview.plantuml
+++ b/webapps/docs/architecture/startup/1_overview.plantuml
@@ -23,22 +23,18 @@ Bootstrap -> Bootstrap: initClassLoaders()
 
 Bootstrap -->> Catalina ** : newInstance()
 
-Bootstrap -> Catalina: setParentClassLoader()
-activate Catalina
+Bootstrap -> Catalina ++: setParentClassLoader()
 |||
 Bootstrap <<-- Catalina:
 deactivate Catalina
 
-Bootstrap -> Catalina: start()
-activate Catalina
+Bootstrap -> Catalina ++: start()
 
-Catalina -> Catalina: load()
-activate Catalina
+Catalina -> Catalina ++: load()
 
 Catalina -> Catalina: initNaming()
 
-Catalina -> Catalina: parseServerXml()
-activate Catalina
+Catalina -> Catalina ++: parseServerXml()
 
 Catalina -->> Digester ** :
 note right of Digester
@@ -49,8 +45,7 @@ note right of Digester
   simplicity
 end note
 
-Catalina -> Digester: parse()
-activate Digester
+Catalina -> Digester ++: parse()
 |||
 
 Digester -->> Server ** :
@@ -63,8 +58,7 @@ deactivate Catalina
 
 Catalina -> Catalina: initStream()
 
-Catalina -> Server: init()
-activate Server
+Catalina -> Server ++: init()
 |||
 Catalina <<-- Server:
 deactivate Server
@@ -72,12 +66,11 @@ deactivate Server
 Catalina -->> Catalina:
 deactivate Catalina
 
-Catalina -> Server: start()
-activate Server
+Catalina -> Server ++: start()
 Catalina <<-- Server:
+deactivate Server
 
-Catalina -> Catalina: await()
-activate Catalina
+Catalina -> Catalina ++: await()
 note right of Catalina
   This is where Tomcat spends
   time serving requests
@@ -85,13 +78,13 @@ end note
 Catalina -->> Catalina:
 deactivate Catalina
 
-Catalina -> Catalina: stop()
-activate Catalina
+Catalina -> Catalina ++: stop()
 
-Catalina -> Server: stop()
+Catalina -> Server ++: stop()
 Catalina <<-- Server:
+deactivate Server
 
-Catalina -> Server: destroy()
+Catalina -> Server ++: destroy()
 Catalina <<-- Server:
 deactivate Server
 
diff --git a/webapps/docs/architecture/startup/1_overview.png 
b/webapps/docs/architecture/startup/1_overview.png
index c35fc974bf..b94efeef18 100644
Binary files a/webapps/docs/architecture/startup/1_overview.png and 
b/webapps/docs/architecture/startup/1_overview.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.plantuml 
b/webapps/docs/architecture/startup/2_catalina_init.plantuml
index bf260d7cb8..6010e7b1e7 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.plantuml
+++ b/webapps/docs/architecture/startup/2_catalina_init.plantuml
@@ -20,16 +20,13 @@ skinparam style strictuml
 
 activate Catalina
 
-Catalina -> Server: init()
-activate Server
+Catalina -> Server ++: init()
 
 Server -> Server: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 
-Server -> Server: initInternal()
-activate Server
+Server -> Server ++: initInternal()
 
-Server -> "Global\nNaming\nResources" as GNR: init()
-activate GNR
+Server -> "Global\nNaming\nResources" as GNR ++: init()
 
 GNR -> GNR: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 GNR -> GNR: initInternal()
@@ -38,16 +35,13 @@ GNR -> GNR: fireLifecycleEvent(\nAFTER_INIT_EVENT)
 Server  <<-- GNR
 deactivate GNR
 
-Server -> "Service(s)" as Services: init()
-activate Services
+Server -> "Service(s)" as Services ++: init()
 
 Services -> Services: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 
-Services -> Services: initInternal()
-activate Services
+Services -> Services ++: initInternal()
 
-Services -> Engine: init()
-activate Engine
+Services -> Engine ++: init()
 
 Engine -> Engine: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 Engine -> Engine: initInternal()
@@ -56,8 +50,7 @@ Engine -> Engine: fireLifecycleEvent(\nAFTER_INIT_EVENT)
 Services <<-- Engine
 deactivate Engine
 
-Services -> "Executor(s)" as Executors: init()
-activate Executors
+Serv

(tomcat) branch main updated: Use shorthand for return and deactivate

2024-09-06 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 6605a3176b Use shorthand for return and deactivate
6605a3176b is described below

commit 6605a3176b2d2a3a1fe4784da7d0f0011ad9c64d
Author: Mark Thomas 
AuthorDate: Fri Sep 6 17:35:57 2024 +0100

Use shorthand for return and deactivate

a <<-- b
deactivate b

is replaced by

return

The style of the arrow changes but that seems acceptable for the cleaner
code
---
 .../docs/architecture/startup/1_overview.plantuml  |  41 +--
 webapps/docs/architecture/startup/1_overview.png   | Bin 46300 -> 48278 bytes
 .../architecture/startup/2_catalina_init.plantuml  |  52 ++
 .../docs/architecture/startup/2_catalina_init.png  | Bin 114163 -> 118930 bytes
 .../startup/3_catalina_start_1.plantuml|  75 +++--
 .../architecture/startup/3_catalina_start_1.png| Bin 158947 -> 166720 bytes
 6 files changed, 63 insertions(+), 105 deletions(-)

diff --git a/webapps/docs/architecture/startup/1_overview.plantuml 
b/webapps/docs/architecture/startup/1_overview.plantuml
index fe7dcf58a0..749d2d4a3c 100644
--- a/webapps/docs/architecture/startup/1_overview.plantuml
+++ b/webapps/docs/architecture/startup/1_overview.plantuml
@@ -25,8 +25,7 @@ Bootstrap -->> Catalina ** : newInstance()
 
 Bootstrap -> Catalina ++: setParentClassLoader()
 |||
-Bootstrap <<-- Catalina:
-deactivate Catalina
+return
 
 Bootstrap -> Catalina ++: start()
 
@@ -46,53 +45,49 @@ note right of Digester
 end note
 
 Catalina -> Digester ++: parse()
-|||
 
 Digester -->> Server ** :
 
-Catalina <<-- Digester:
-deactivate Digester
+return
 
-Catalina -->> Catalina:
-deactivate Catalina
+return
 
+|||
 Catalina -> Catalina: initStream()
 
 Catalina -> Server ++: init()
 |||
-Catalina <<-- Server:
-deactivate Server
+return
 
-Catalina -->> Catalina:
-deactivate Catalina
+return
 
+|||
 Catalina -> Server ++: start()
-Catalina <<-- Server:
-deactivate Server
+|||
+return
 
+|||
 Catalina -> Catalina ++: await()
 note right of Catalina
   This is where Tomcat spends
   time serving requests
 end note
-Catalina -->> Catalina:
-deactivate Catalina
+return
 
+|||
 Catalina -> Catalina ++: stop()
 
 Catalina -> Server ++: stop()
-Catalina <<-- Server:
-deactivate Server
+|||
+return
 
 Catalina -> Server ++: destroy()
-Catalina <<-- Server:
-deactivate Server
+|||
+return
 
-Catalina -->> Catalina:
-deactivate Catalina
+return
 
-Bootstrap <<-- Catalina:
-deactivate Catalina
+return
 
 deactivate Bootstrap
 @enduml
\ No newline at end of file
diff --git a/webapps/docs/architecture/startup/1_overview.png 
b/webapps/docs/architecture/startup/1_overview.png
index b94efeef18..f014d7d9b8 100644
Binary files a/webapps/docs/architecture/startup/1_overview.png and 
b/webapps/docs/architecture/startup/1_overview.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.plantuml 
b/webapps/docs/architecture/startup/2_catalina_init.plantuml
index 6010e7b1e7..738dac0f69 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.plantuml
+++ b/webapps/docs/architecture/startup/2_catalina_init.plantuml
@@ -27,14 +27,12 @@ Server -> Server: fireLifecycleEvent(\n
BEFORE_INIT_EVENT)
 Server -> Server ++: initInternal()
 
 Server -> "Global\nNaming\nResources" as GNR ++: init()
-
 GNR -> GNR: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 GNR -> GNR: initInternal()
 GNR -> GNR: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+return
 
-Server  <<-- GNR
-deactivate GNR
-
+|||
 Server -> "Service(s)" as Services ++: init()
 
 Services -> Services: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
@@ -42,32 +40,26 @@ Services -> Services: fireLifecycleEvent(\n
BEFORE_INIT_EVENT)
 Services -> Services ++: initInternal()
 
 Services -> Engine ++: init()
-
 Engine -> Engine: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 Engine -> Engine: initInternal()
 Engine -> Engine: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+return
 
-Services <<-- Engine
-deactivate Engine
-
+|||
 Services -> "Executor(s)" as Executors ++: init()
-
 Executors -> Executors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 Executors -> Executors: initInternal()
 Executors -> Executors: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+return
 
-Services <<-- Executors
-deactivate Executors
-
+|||
 Services -> "Mapper\nListener" as MapperListener ++: init()
-
 MapperListener -> MapperListener: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 MapperListener -> MapperListener: initInternal()
 MapperListener -> MapperListener: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+return
 
-Services <<-- MapperListener
-deactivate MapperListener
-
+|||
 Services -> "Connector(s)" as Connectors ++: init()
 
 Connectors -> Connectors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
@@ -77,35 +69,29 @@ Connectors 

(tomcat) branch 11.0.x updated: Use shorthand for return and deactivate

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

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


The following commit(s) were added to refs/heads/11.0.x by this push:
 new 8a5e8ebda1 Use shorthand for return and deactivate
8a5e8ebda1 is described below

commit 8a5e8ebda13351cfdd20ad0e7c8dd68d28d16920
Author: Mark Thomas 
AuthorDate: Fri Sep 6 17:35:57 2024 +0100

Use shorthand for return and deactivate

a <<-- b
deactivate b

is replaced by

return

The style of the arrow changes but that seems acceptable for the cleaner
code
---
 .../docs/architecture/startup/1_overview.plantuml  |  41 +--
 webapps/docs/architecture/startup/1_overview.png   | Bin 46300 -> 48278 bytes
 .../architecture/startup/2_catalina_init.plantuml  |  52 ++
 .../docs/architecture/startup/2_catalina_init.png  | Bin 114163 -> 118930 bytes
 .../startup/3_catalina_start_1.plantuml|  75 +++--
 .../architecture/startup/3_catalina_start_1.png| Bin 158947 -> 166720 bytes
 6 files changed, 63 insertions(+), 105 deletions(-)

diff --git a/webapps/docs/architecture/startup/1_overview.plantuml 
b/webapps/docs/architecture/startup/1_overview.plantuml
index fe7dcf58a0..749d2d4a3c 100644
--- a/webapps/docs/architecture/startup/1_overview.plantuml
+++ b/webapps/docs/architecture/startup/1_overview.plantuml
@@ -25,8 +25,7 @@ Bootstrap -->> Catalina ** : newInstance()
 
 Bootstrap -> Catalina ++: setParentClassLoader()
 |||
-Bootstrap <<-- Catalina:
-deactivate Catalina
+return
 
 Bootstrap -> Catalina ++: start()
 
@@ -46,53 +45,49 @@ note right of Digester
 end note
 
 Catalina -> Digester ++: parse()
-|||
 
 Digester -->> Server ** :
 
-Catalina <<-- Digester:
-deactivate Digester
+return
 
-Catalina -->> Catalina:
-deactivate Catalina
+return
 
+|||
 Catalina -> Catalina: initStream()
 
 Catalina -> Server ++: init()
 |||
-Catalina <<-- Server:
-deactivate Server
+return
 
-Catalina -->> Catalina:
-deactivate Catalina
+return
 
+|||
 Catalina -> Server ++: start()
-Catalina <<-- Server:
-deactivate Server
+|||
+return
 
+|||
 Catalina -> Catalina ++: await()
 note right of Catalina
   This is where Tomcat spends
   time serving requests
 end note
-Catalina -->> Catalina:
-deactivate Catalina
+return
 
+|||
 Catalina -> Catalina ++: stop()
 
 Catalina -> Server ++: stop()
-Catalina <<-- Server:
-deactivate Server
+|||
+return
 
 Catalina -> Server ++: destroy()
-Catalina <<-- Server:
-deactivate Server
+|||
+return
 
-Catalina -->> Catalina:
-deactivate Catalina
+return
 
-Bootstrap <<-- Catalina:
-deactivate Catalina
+return
 
 deactivate Bootstrap
 @enduml
\ No newline at end of file
diff --git a/webapps/docs/architecture/startup/1_overview.png 
b/webapps/docs/architecture/startup/1_overview.png
index b94efeef18..f014d7d9b8 100644
Binary files a/webapps/docs/architecture/startup/1_overview.png and 
b/webapps/docs/architecture/startup/1_overview.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.plantuml 
b/webapps/docs/architecture/startup/2_catalina_init.plantuml
index 6010e7b1e7..738dac0f69 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.plantuml
+++ b/webapps/docs/architecture/startup/2_catalina_init.plantuml
@@ -27,14 +27,12 @@ Server -> Server: fireLifecycleEvent(\n
BEFORE_INIT_EVENT)
 Server -> Server ++: initInternal()
 
 Server -> "Global\nNaming\nResources" as GNR ++: init()
-
 GNR -> GNR: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 GNR -> GNR: initInternal()
 GNR -> GNR: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+return
 
-Server  <<-- GNR
-deactivate GNR
-
+|||
 Server -> "Service(s)" as Services ++: init()
 
 Services -> Services: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
@@ -42,32 +40,26 @@ Services -> Services: fireLifecycleEvent(\n
BEFORE_INIT_EVENT)
 Services -> Services ++: initInternal()
 
 Services -> Engine ++: init()
-
 Engine -> Engine: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 Engine -> Engine: initInternal()
 Engine -> Engine: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+return
 
-Services <<-- Engine
-deactivate Engine
-
+|||
 Services -> "Executor(s)" as Executors ++: init()
-
 Executors -> Executors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 Executors -> Executors: initInternal()
 Executors -> Executors: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+return
 
-Services <<-- Executors
-deactivate Executors
-
+|||
 Services -> "Mapper\nListener" as MapperListener ++: init()
-
 MapperListener -> MapperListener: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 MapperListener -> MapperListener: initInternal()
 MapperListener -> MapperListener: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+return
 
-Services <<-- MapperListener
-deactivate MapperListener
-
+|||
 Services -> "Connector(s)" as Connectors ++: init()
 
 Connectors -> Connectors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
@@ -77,35 +69,29 @@ Connect

(tomcat) branch 10.1.x updated: Use shorthand for return and deactivate

2024-09-06 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 6c1e5974ac Use shorthand for return and deactivate
6c1e5974ac is described below

commit 6c1e5974ac936d5eb30a18f2f53aff7c5e83c056
Author: Mark Thomas 
AuthorDate: Fri Sep 6 17:35:57 2024 +0100

Use shorthand for return and deactivate

a <<-- b
deactivate b

is replaced by

return

The style of the arrow changes but that seems acceptable for the cleaner
code
---
 .../docs/architecture/startup/1_overview.plantuml  |  41 +--
 webapps/docs/architecture/startup/1_overview.png   | Bin 46300 -> 48278 bytes
 .../architecture/startup/2_catalina_init.plantuml  |  52 ++
 .../docs/architecture/startup/2_catalina_init.png  | Bin 114163 -> 118930 bytes
 .../startup/3_catalina_start_1.plantuml|  75 +++--
 .../architecture/startup/3_catalina_start_1.png| Bin 158947 -> 166720 bytes
 6 files changed, 63 insertions(+), 105 deletions(-)

diff --git a/webapps/docs/architecture/startup/1_overview.plantuml 
b/webapps/docs/architecture/startup/1_overview.plantuml
index fe7dcf58a0..749d2d4a3c 100644
--- a/webapps/docs/architecture/startup/1_overview.plantuml
+++ b/webapps/docs/architecture/startup/1_overview.plantuml
@@ -25,8 +25,7 @@ Bootstrap -->> Catalina ** : newInstance()
 
 Bootstrap -> Catalina ++: setParentClassLoader()
 |||
-Bootstrap <<-- Catalina:
-deactivate Catalina
+return
 
 Bootstrap -> Catalina ++: start()
 
@@ -46,53 +45,49 @@ note right of Digester
 end note
 
 Catalina -> Digester ++: parse()
-|||
 
 Digester -->> Server ** :
 
-Catalina <<-- Digester:
-deactivate Digester
+return
 
-Catalina -->> Catalina:
-deactivate Catalina
+return
 
+|||
 Catalina -> Catalina: initStream()
 
 Catalina -> Server ++: init()
 |||
-Catalina <<-- Server:
-deactivate Server
+return
 
-Catalina -->> Catalina:
-deactivate Catalina
+return
 
+|||
 Catalina -> Server ++: start()
-Catalina <<-- Server:
-deactivate Server
+|||
+return
 
+|||
 Catalina -> Catalina ++: await()
 note right of Catalina
   This is where Tomcat spends
   time serving requests
 end note
-Catalina -->> Catalina:
-deactivate Catalina
+return
 
+|||
 Catalina -> Catalina ++: stop()
 
 Catalina -> Server ++: stop()
-Catalina <<-- Server:
-deactivate Server
+|||
+return
 
 Catalina -> Server ++: destroy()
-Catalina <<-- Server:
-deactivate Server
+|||
+return
 
-Catalina -->> Catalina:
-deactivate Catalina
+return
 
-Bootstrap <<-- Catalina:
-deactivate Catalina
+return
 
 deactivate Bootstrap
 @enduml
\ No newline at end of file
diff --git a/webapps/docs/architecture/startup/1_overview.png 
b/webapps/docs/architecture/startup/1_overview.png
index b94efeef18..f014d7d9b8 100644
Binary files a/webapps/docs/architecture/startup/1_overview.png and 
b/webapps/docs/architecture/startup/1_overview.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.plantuml 
b/webapps/docs/architecture/startup/2_catalina_init.plantuml
index 6010e7b1e7..738dac0f69 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.plantuml
+++ b/webapps/docs/architecture/startup/2_catalina_init.plantuml
@@ -27,14 +27,12 @@ Server -> Server: fireLifecycleEvent(\n
BEFORE_INIT_EVENT)
 Server -> Server ++: initInternal()
 
 Server -> "Global\nNaming\nResources" as GNR ++: init()
-
 GNR -> GNR: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 GNR -> GNR: initInternal()
 GNR -> GNR: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+return
 
-Server  <<-- GNR
-deactivate GNR
-
+|||
 Server -> "Service(s)" as Services ++: init()
 
 Services -> Services: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
@@ -42,32 +40,26 @@ Services -> Services: fireLifecycleEvent(\n
BEFORE_INIT_EVENT)
 Services -> Services ++: initInternal()
 
 Services -> Engine ++: init()
-
 Engine -> Engine: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 Engine -> Engine: initInternal()
 Engine -> Engine: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+return
 
-Services <<-- Engine
-deactivate Engine
-
+|||
 Services -> "Executor(s)" as Executors ++: init()
-
 Executors -> Executors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 Executors -> Executors: initInternal()
 Executors -> Executors: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+return
 
-Services <<-- Executors
-deactivate Executors
-
+|||
 Services -> "Mapper\nListener" as MapperListener ++: init()
-
 MapperListener -> MapperListener: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 MapperListener -> MapperListener: initInternal()
 MapperListener -> MapperListener: fireLifecycleEvent(\nAFTER_INIT_EVENT)
+return
 
-Services <<-- MapperListener
-deactivate MapperListener
-
+|||
 Services -> "Connector(s)" as Connectors ++: init()
 
 Connectors -> Connectors: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
@@ -77,35 +69,29 @@ Connect