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

2024-09-20 Thread markt
Author: markt
Date: Fri Sep 20 08:08:15 2024
New Revision: 1920804

URL: http://svn.apache.org/viewvc?rev=1920804&view=rev
Log:
Link to the security model to describe acceptable vulnerability reports

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

Modified: tomcat/site/trunk/docs/security-model.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/security-model.html?rev=1920804&r1=1920803&r2=1920804&view=diff
==
--- tomcat/site/trunk/docs/security-model.html (original)
+++ tomcat/site/trunk/docs/security-model.html Fri Sep 20 08:08:15 2024
@@ -3,8 +3,6 @@
 
 Introduction
 
-  This security model is currently in DRAFT form.
-
   The Apache Tomcat® Security Team reviews reported
  vulnerabilities against the following security model:
 

Modified: tomcat/site/trunk/docs/security.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/security.html?rev=1920804&r1=1920803&r2=1920804&view=diff
==
--- tomcat/site/trunk/docs/security.html (original)
+++ tomcat/site/trunk/docs/security.html Fri Sep 20 08:08:15 2024
@@ -57,18 +57,9 @@
security mailing list first, before disclosing them in a public forum.

 
-Reports of problems that require any of the following will be considered
-   out of scope and will not be accepted by the Tomcat security team. The
-   list is not exhaustive.
-   
- Access to Tomcat's configuration files.
- Deployment of a vulnerable web application.
- Deployment of a malicious web application unless a SecurityManager
- is configured with an appropriate security policy and the web
- application is able to bypass a restriction enforced by the
- SecurityManager.
-   
-
+The Tomcat security model describes
+   what the Tomcat security team will and will not accept as a valid
+   vulnerability report for Tomcat.
 
 Please note that the security mailing list should only be used
for reporting undisclosed security vulnerabilities in Tomcat and 
managing

Modified: tomcat/site/trunk/xdocs/security-model.xml
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/security-model.xml?rev=1920804&r1=1920803&r2=1920804&view=diff
==
--- tomcat/site/trunk/xdocs/security-model.xml (original)
+++ tomcat/site/trunk/xdocs/security-model.xml Fri Sep 20 08:08:15 2024
@@ -11,8 +11,6 @@
 
 
 
-  This security model is currently in DRAFT form.
-
   The Apache Tomcat® Security Team reviews reported
  vulnerabilities against the following security model:
 

Modified: tomcat/site/trunk/xdocs/security.xml
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/security.xml?rev=1920804&r1=1920803&r2=1920804&view=diff
==
--- tomcat/site/trunk/xdocs/security.xml (original)
+++ tomcat/site/trunk/xdocs/security.xml Fri Sep 20 08:08:15 2024
@@ -67,18 +67,9 @@
security mailing list first, before disclosing them in a public forum.

 
-Reports of problems that require any of the following will be considered
-   out of scope and will not be accepted by the Tomcat security team. The
-   list is not exhaustive.
-   
- Access to Tomcat's configuration files.
- Deployment of a vulnerable web application.
- Deployment of a malicious web application unless a SecurityManager
- is configured with an appropriate security policy and the web
- application is able to bypass a restriction enforced by the
- SecurityManager.
-   
-
+The Tomcat security model describes
+   what the Tomcat security team will and will not accept as a valid
+   vulnerability report for Tomcat.
 
 Please note that the security mailing list should only be used
for reporting undisclosed security vulnerabilities in Tomcat and 
managing



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



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

2024-09-20 Thread markt
Author: markt
Date: Fri Sep 20 07:59:10 2024
New Revision: 1920801

URL: http://svn.apache.org/viewvc?rev=1920801&view=rev
Log:
Move Tomcat 8 to the EOL version list

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

Modified: tomcat/site/trunk/docs/security.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/security.html?rev=1920801&r1=1920800&r2=1920801&view=diff
==
--- tomcat/site/trunk/docs/security.html (original)
+++ tomcat/site/trunk/docs/security.html Fri Sep 20 07:59:10 2024
@@ -23,8 +23,6 @@
   
   Apache Tomcat 9.x Security Vulnerabilities
   
-  Apache Tomcat 8.x Security Vulnerabilities
-  
   Apache Tomcat JK Connectors Security
   Vulnerabilities
   Apache Tomcat APR/native Connector
@@ -36,6 +34,8 @@
 Lists of security problems fixed in versions of Apache Tomcat that may
 be downloaded from the archives are also available:
 
+  Apache Tomcat 8.x Security Vulnerabilities
+  
   Apache Tomcat 7.x Security Vulnerabilities
   
   Apache Tomcat 6.x Security Vulnerabilities

Modified: tomcat/site/trunk/xdocs/security.xml
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/security.xml?rev=1920801&r1=1920800&r2=1920801&view=diff
==
--- tomcat/site/trunk/xdocs/security.xml (original)
+++ tomcat/site/trunk/xdocs/security.xml Fri Sep 20 07:59:10 2024
@@ -31,8 +31,6 @@
   
   Apache Tomcat 9.x Security Vulnerabilities
   
-  Apache Tomcat 8.x Security Vulnerabilities
-  
   Apache Tomcat JK Connectors Security
   Vulnerabilities
   Apache Tomcat APR/native Connector
@@ -44,6 +42,8 @@
 Lists of security problems fixed in versions of Apache Tomcat that may
 be downloaded from the archives are also available:
 
+  Apache Tomcat 8.x Security Vulnerabilities
+  
   Apache Tomcat 7.x Security Vulnerabilities
   
   Apache Tomcat 6.x Security Vulnerabilities



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



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

2024-09-20 Thread markt
Author: markt
Date: Fri Sep 20 08:01:25 2024
New Revision: 1920803

URL: http://svn.apache.org/viewvc?rev=1920803&view=rev
Log:
Clarify currently supported vs EOL

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

Modified: tomcat/site/trunk/docs/security.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/security.html?rev=1920803&r1=1920802&r2=1920803&view=diff
==
--- tomcat/site/trunk/docs/security.html (original)
+++ tomcat/site/trunk/docs/security.html Fri Sep 20 08:01:25 2024
@@ -3,8 +3,9 @@
 
 Please note that, except in rare circumstances, binary patches are not
produced for individual vulnerabilities. To obtain the binary fix for a
-   particular vulnerability you should upgrade to an Apache 
Tomcat® version
-   where that vulnerability has been fixed.
+   particular vulnerability you should upgrade to an Apache
+   Tomcat® version where that vulnerability has been
+   fixed.

 Source patches, usually in the form of references to commits, may be
provided in either in a vulnerability announcement and/or the
@@ -12,8 +13,8 @@
used by users wishing to build their own local version of Tomcat with 
just
that security patch rather than upgrade.

-Lists of security problems fixed in released versions of Apache Tomcat
-   are available:
+Lists of security problems fixed in currently supported versions of
+   Apache Tomcat are available:
 
   Apache Tomcat 11.x Security 
Vulnerabilities
   
@@ -29,8 +30,9 @@
   Security Vulnerabilities
 
 
-Lists of security problems fixed in versions of Apache Tomcat that may
-be downloaded from the archives are also available:
+Lists of security problems fixed in versions of Apache Tomcat that have
+   reached end of life and may be downloaded from the archives are also
+   available:
 
   Apache Tomcat 8.x Security Vulnerabilities
   

Modified: tomcat/site/trunk/xdocs/security.xml
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/security.xml?rev=1920803&r1=1920802&r2=1920803&view=diff
==
--- tomcat/site/trunk/xdocs/security.xml (original)
+++ tomcat/site/trunk/xdocs/security.xml Fri Sep 20 08:01:25 2024
@@ -11,8 +11,9 @@
 
 Please note that, except in rare circumstances, binary patches are not
produced for individual vulnerabilities. To obtain the binary fix for a
-   particular vulnerability you should upgrade to an Apache 
Tomcat® version
-   where that vulnerability has been fixed.
+   particular vulnerability you should upgrade to an Apache
+   Tomcat® version where that vulnerability has been
+   fixed.

 Source patches, usually in the form of references to commits, may be
provided in either in a vulnerability announcement and/or the
@@ -20,8 +21,8 @@
used by users wishing to build their own local version of Tomcat with 
just
that security patch rather than upgrade.

-Lists of security problems fixed in released versions of Apache Tomcat
-   are available:
+Lists of security problems fixed in currently supported versions of
+   Apache Tomcat are available:
 
   Apache Tomcat 11.x Security 
Vulnerabilities
   
@@ -37,8 +38,9 @@
   Security Vulnerabilities
 
 
-Lists of security problems fixed in versions of Apache Tomcat that may
-be downloaded from the archives are also available:
+Lists of security problems fixed in versions of Apache Tomcat that have
+   reached end of life and may be downloaded from the archives are also
+   available:
 
   Apache Tomcat 8.x Security Vulnerabilities
   



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



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

2024-09-20 Thread markt
Author: markt
Date: Fri Sep 20 07:59:54 2024
New Revision: 1920802

URL: http://svn.apache.org/viewvc?rev=1920802&view=rev
Log:
All CVEs for currently supported versions contain links to commits

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

Modified: tomcat/site/trunk/docs/security.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/security.html?rev=1920802&r1=1920801&r2=1920802&view=diff
==
--- tomcat/site/trunk/docs/security.html (original)
+++ tomcat/site/trunk/docs/security.html Fri Sep 20 07:59:54 2024
@@ -10,9 +10,7 @@
provided in either in a vulnerability announcement and/or the
vulnerability details listed on these pages. These source patches may be
used by users wishing to build their own local version of Tomcat with 
just
-   that security patch rather than upgrade. Please note that an exercise is
-   currently underway to add links to the commits for all the
-   vulnerabilities listed on these pages.
+   that security patch rather than upgrade.

 Lists of security problems fixed in released versions of Apache Tomcat
are available:

Modified: tomcat/site/trunk/xdocs/security.xml
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/security.xml?rev=1920802&r1=1920801&r2=1920802&view=diff
==
--- tomcat/site/trunk/xdocs/security.xml (original)
+++ tomcat/site/trunk/xdocs/security.xml Fri Sep 20 07:59:54 2024
@@ -18,9 +18,7 @@
provided in either in a vulnerability announcement and/or the
vulnerability details listed on these pages. These source patches may be
used by users wishing to build their own local version of Tomcat with 
just
-   that security patch rather than upgrade. Please note that an exercise is
-   currently underway to add links to the commits for all the
-   vulnerabilities listed on these pages.
+   that security patch rather than upgrade.

 Lists of security problems fixed in released versions of Apache Tomcat
are available:



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



(tomcat-training) branch main updated: Updates after a couple of practice runs

2024-09-20 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-training.git


The following commit(s) were added to refs/heads/main by this push:
 new 09558ba  Updates after a couple of practice runs
09558ba is described below

commit 09558baa8388b462698da42fd1fd88349dc45be0
Author: Mark Thomas 
AuthorDate: Fri Sep 20 08:46:31 2024 +0100

Updates after a couple of practice runs
---
 modules/tomcat-11-jakarta-ee-11.html | 44 +++-
 1 file changed, 28 insertions(+), 16 deletions(-)

diff --git a/modules/tomcat-11-jakarta-ee-11.html 
b/modules/tomcat-11-jakarta-ee-11.html
index 9a45ebd..58cc048 100644
--- a/modules/tomcat-11-jakarta-ee-11.html
+++ b/modules/tomcat-11-jakarta-ee-11.html
@@ -16,54 +16,66 @@
 -->
 
   Agenda
-  Jakarta EE 11
+  Overview
+  Changes
   Tomcat 11
+  Questions
 
 
-  Jakarta EE 11 - Overview
-  Major Tomcat versions are aligned with Servlet specification releases
-  Originally planned for Q1 2024
-  Testing and Compatibility Kits (TCKs) refactoring taking longer than 
expected
-  Slipped to H1 2024 then H2 2024
+  Overview - Versioning
+  Tomcat major versions aligned with Servlet specification releases
+  Servlet specification releases aligned with and Jakarta EE releases
+  Tomcat 11 - Servlet 6.1 - Jakarta EE 11
+  Hope to keep Tomcat major version and Jakarta EE version aligned 
 
 
-  Jakarta EE 11 - Progress
+  Jakarta EE 11 - Tomcat 11
   42 individual specifications - Tomcat implements 6
-  Those 6 are done
-  Tomcat 11 implements all 
-  Tomcat 11 passes the TCK for 5 of 6
+  Those 6 are complete and released
+  Tomcat 11 implements all 6
+  Tomcat 11 passes the TCK all 6
+  Daily testing against 5 TCKs
   Authentication TCK uses different framework - work in progress
 
 
-  Jakarta EE 11 - Key changes
+  Overview - Timing
+  Jakarta EE 10 was released Q3 2022
+  Originally planned for Q1 2024
+  Testing and Compatibility Kits (TCKs) refactoring taking longer than 
expected
+  Slipped to H1 2024 then H2 2024
+  Tomcat 11.0.0-M1 2022-12-05
+  Tomcat 11.0.0 2024-10-09  
+
+
+  Changes - Jakarta EE 11 Platform
   Requires a minimum of Java 17
   No SecurityManager support
 
 
-  Jakarta Servlet - 6.1
+  Changes - Jakarta Servlet - 6.1
   Safe HTTP session access for WebSocket
   Invalid request parameters will always trigger an exception
   HTTP/2 server push is deprecated
   Lots of clarifications
 
 
-  Jakarta Pages - 4.0
+  Changes - Jakarta Pages - 4.0
   Depreacted classes and methods have been removed
   Updated ErrorData to support the new request attribute 
jakarta.servlet.error.query_string
 
 
-  Jakarta WebSocket - 2.2
+  Changes - Jakarta WebSocket - 2.2
   Clarifed the responsibility for sending Ping messages
   Added getSession() method to SendResult
 
 
-  Expression Language - 6.0
+  Changes - Expression Language - 6.0
   Remove all deprecated classes and methods
   Dependency on JavaBeans API is now optional
   Added support for java.util.Optional via OptionalELResolver
 
 
-  Tomcat 11
+  Changes - Tomcat 11
   Specification / RFC updates
   RFC 9218 - HTTP/2 priority frame support
   Generally stricter with invalid input


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



(tomcat-training) branch main updated: Update ignores to exclude more IDE files

2024-09-20 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-training.git


The following commit(s) were added to refs/heads/main by this push:
 new cd42413  Update ignores to exclude more IDE files
cd42413 is described below

commit cd42413f91f3209ba2dbd32ad85224f9a9a20145
Author: Mark Thomas 
AuthorDate: Fri Sep 20 08:44:31 2024 +0100

Update ignores to exclude more IDE files
---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index 22a6ca6..c6a8093 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
 .project
+.settings
 .idea/
 *.iml
 *.iws


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



(tomcat) 01/03: Create dirs if required when persisting Jakarta Auth provider config

2024-09-19 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

commit a731053ef7b17afba2cda86612b8fad5112c5430
Author: Mark Thomas 
AuthorDate: Thu Sep 19 14:57:29 2024 +0100

Create dirs if required when persisting Jakarta Auth provider config

Unlikely to be required when running in Tomcat. Is required when running
the TCK since the persistence mechanism is used outside of Tomcat and
the dirs don.t exist.
---
 .../apache/catalina/authenticator/jaspic/LocalStrings.properties   | 1 +
 .../authenticator/jaspic/PersistentProviderRegistrations.java  | 7 +++
 webapps/docs/changelog.xml | 5 +
 3 files changed, 13 insertions(+)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties 
b/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
index 1930492629..7a3b0ece4a 100644
--- a/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
+++ b/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
@@ -29,6 +29,7 @@ jaspicAuthenticator.authenticate=Authenticating request for 
[{0}] via JASPIC
 
 persistentProviderRegistrations.deleteFail=The temporary file [{0}] cannot be 
deleted
 persistentProviderRegistrations.existsDeleteFail=The temporary file [{0}] 
already exists and cannot be deleted
+persistentProviderRegistrations.mkdirsFail=The directory for the persistent 
provider registrations [{0}] cannot be created
 persistentProviderRegistrations.moveFail=Failed to move [{0}] to [{1}]
 persistentProviderRegistrations.xmlFeatureEncoding=Exception configuring 
JASPIC to permit java encoding names in XML configuration files. Only IANA 
encoding names will be supported.
 
diff --git 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
index 40845783a0..2766807d9d 100644
--- 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
+++ 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
@@ -94,6 +94,7 @@ public final class PersistentProviderRegistrations {
 static void writeProviders(Providers providers, File configFile) {
 File configFileOld = new File(configFile.getAbsolutePath() + ".old");
 File configFileNew = new File(configFile.getAbsolutePath() + ".new");
+File configParent = configFileNew.getParentFile();
 
 // Remove left over temporary files if present
 if (configFileOld.exists()) {
@@ -108,6 +109,12 @@ public final class PersistentProviderRegistrations {
 configFileNew.getAbsolutePath()));
 }
 }
+if (!configParent.exists()) {
+if (!configParent.mkdirs()) {
+throw new 
SecurityException(sm.getString("persistentProviderRegistrations.mkdirsFail",
+configParent.getAbsolutePath()));
+}
+}
 
 // Write out the providers to the temporary new file
 try (OutputStream fos = new FileOutputStream(configFileNew);
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 310f6fd041..8fade95db0 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -122,6 +122,11 @@
 explicitly set the HTTP response status to 500 as the
 ServerAuthContext may not have set it. (markt)
   
+  
+When persisting the Jakarta Authentication provider configuration,
+create any necessary parent directories that don't already exist.
+(markt)
+  
 
   
 


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



(tomcat) 03/03: Don't overwrite valid Principal from password callback will null

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

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

commit 9fadc20c1b953b2dadee04d49bb1dc01ae4482c0
Author: Mark Thomas 
AuthorDate: Thu Sep 19 14:59:04 2024 +0100

Don't overwrite valid Principal from password callback will null
---
 .../apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java   | 4 +++-
 webapps/docs/changelog.xml  | 6 ++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java 
b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
index b725ffe047..d9eedd3735 100644
--- a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
+++ b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
@@ -68,7 +68,9 @@ public class CallbackHandlerImpl implements CallbackHandler, 
Contained {
 if (callback instanceof CallerPrincipalCallback) {
 CallerPrincipalCallback cpc = (CallerPrincipalCallback) 
callback;
 name = cpc.getName();
-principal = cpc.getPrincipal();
+if (cpc.getPrincipal() != null) {
+principal = cpc.getPrincipal();
+}
 subject = cpc.getSubject();
 } else if (callback instanceof GroupPrincipalCallback) {
 GroupPrincipalCallback gpc = (GroupPrincipalCallback) 
callback;
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 671f1f36d1..5b2db7db84 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -127,6 +127,12 @@
 associated with persisting the Jakarta Authentication provider
 configuration. (markt)
   
+  
+When processing Jakarta Authentication callbacks, don't overwrite a
+Principal obtained from the PasswordValidationCallback 
with
+null if the CallerPrincipalCallback does not
+provide a Principal. (markt)
+  
 
   
 


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



(tomcat) 03/03: Don't overwrite valid Principal from password callback will null

2024-09-19 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

commit db91aa4186446b01f414002a421db05be25fe242
Author: Mark Thomas 
AuthorDate: Thu Sep 19 14:59:04 2024 +0100

Don't overwrite valid Principal from password callback will null
---
 .../apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java   | 4 +++-
 webapps/docs/changelog.xml  | 6 ++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java 
b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
index e95654c4bc..afb0626eaf 100644
--- a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
+++ b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
@@ -69,7 +69,9 @@ public class CallbackHandlerImpl implements CallbackHandler, 
Contained {
 if (callback instanceof CallerPrincipalCallback) {
 CallerPrincipalCallback cpc = (CallerPrincipalCallback) 
callback;
 name = cpc.getName();
-principal = cpc.getPrincipal();
+if (cpc.getPrincipal() != null) {
+principal = cpc.getPrincipal();
+}
 subject = cpc.getSubject();
 } else if (callback instanceof GroupPrincipalCallback) {
 GroupPrincipalCallback gpc = (GroupPrincipalCallback) 
callback;
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index c2c359f1f3..3bfc6b30e1 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -132,6 +132,12 @@
 associated with persisting the Jakarta Authentication provider
 configuration. (markt)
   
+  
+When processing Jakarta Authentication callbacks, don't overwrite a
+Principal obtained from the PasswordValidationCallback 
with
+null if the CallerPrincipalCallback does not
+provide a Principal. (markt)
+  
 
   
 


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



(tomcat) 01/03: Create dirs if required when persisting Jakarta Auth provider config

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

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

commit 995baba8cf59810a988b2f08a75956f0ce068b91
Author: Mark Thomas 
AuthorDate: Thu Sep 19 14:57:29 2024 +0100

Create dirs if required when persisting Jakarta Auth provider config

Unlikely to be required when running in Tomcat. Is required when running
the TCK since the persistence mechanism is used outside of Tomcat and
the dirs don.t exist.
---
 .../apache/catalina/authenticator/jaspic/LocalStrings.properties   | 1 +
 .../authenticator/jaspic/PersistentProviderRegistrations.java  | 7 +++
 webapps/docs/changelog.xml | 5 +
 3 files changed, 13 insertions(+)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties 
b/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
index 5d7e3765b7..46c4c96c5e 100644
--- a/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
+++ b/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
@@ -27,6 +27,7 @@ jaspicAuthenticator.authenticate=Authenticating request for 
[{0}] via JASPIC
 
 persistentProviderRegistrations.deleteFail=The temporary file [{0}] cannot be 
deleted
 persistentProviderRegistrations.existsDeleteFail=The temporary file [{0}] 
already exists and cannot be deleted
+persistentProviderRegistrations.mkdirsFail=The directory for the persistent 
provider registrations [{0}] cannot be created
 persistentProviderRegistrations.moveFail=Failed to move [{0}] to [{1}]
 persistentProviderRegistrations.xmlFeatureEncoding=Exception configuring 
JASPIC to permit java encoding names in XML configuration files. Only IANA 
encoding names will be supported.
 
diff --git 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
index 40845783a0..2766807d9d 100644
--- 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
+++ 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
@@ -94,6 +94,7 @@ public final class PersistentProviderRegistrations {
 static void writeProviders(Providers providers, File configFile) {
 File configFileOld = new File(configFile.getAbsolutePath() + ".old");
 File configFileNew = new File(configFile.getAbsolutePath() + ".new");
+File configParent = configFileNew.getParentFile();
 
 // Remove left over temporary files if present
 if (configFileOld.exists()) {
@@ -108,6 +109,12 @@ public final class PersistentProviderRegistrations {
 configFileNew.getAbsolutePath()));
 }
 }
+if (!configParent.exists()) {
+if (!configParent.mkdirs()) {
+throw new 
SecurityException(sm.getString("persistentProviderRegistrations.mkdirsFail",
+configParent.getAbsolutePath()));
+}
+}
 
 // Write out the providers to the temporary new file
 try (OutputStream fos = new FileOutputStream(configFileNew);
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 3f9d8095f3..2b8c405ded 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -117,6 +117,11 @@
 explicitly set the HTTP response status to 500 as the
 ServerAuthContext may not have set it. (markt)
   
+  
+When persisting the Jakarta Authentication provider configuration,
+create any necessary parent directories that don't already exist.
+(markt)
+  
 
   
 


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



(tomcat) 02/03: Fix logic of delete tests

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

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

commit e05b6b1dcf01c1125b6b880822a8b9fcbb1ffd76
Author: Mark Thomas 
AuthorDate: Thu Sep 19 14:57:55 2024 +0100

Fix logic of delete tests
---
 .../authenticator/jaspic/PersistentProviderRegistrations.java| 4 ++--
 webapps/docs/changelog.xml   | 5 +
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
index 2766807d9d..875ab1cff0 100644
--- 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
+++ 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
@@ -98,13 +98,13 @@ public final class PersistentProviderRegistrations {
 
 // Remove left over temporary files if present
 if (configFileOld.exists()) {
-if (configFileOld.delete()) {
+if (!configFileOld.delete()) {
 throw new 
SecurityException(sm.getString("persistentProviderRegistrations.existsDeleteFail",
 configFileOld.getAbsolutePath()));
 }
 }
 if (configFileNew.exists()) {
-if (configFileNew.delete()) {
+if (!configFileNew.delete()) {
 throw new 
SecurityException(sm.getString("persistentProviderRegistrations.existsDeleteFail",
 configFileNew.getAbsolutePath()));
 }
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 2b8c405ded..671f1f36d1 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -122,6 +122,11 @@
 create any necessary parent directories that don't already exist.
 (markt)
   
+  
+Correct the logic used to detect errors when deleting temporary files
+associated with persisting the Jakarta Authentication provider
+configuration. (markt)
+  
 
   
 


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



(tomcat) branch 9.0.x updated (7532f9dc4a -> 9fadc20c1b)

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

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


from 7532f9dc4a If the Jakarta Authentication fails with an exception, set 
a 500 status
 new 995baba8cf Create dirs if required when persisting Jakarta Auth 
provider config
 new e05b6b1dcf Fix logic of delete tests
 new 9fadc20c1b Don't overwrite valid Principal from password callback will 
null

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


Summary of changes:
 .../authenticator/jaspic/CallbackHandlerImpl.java|  4 +++-
 .../authenticator/jaspic/LocalStrings.properties |  1 +
 .../jaspic/PersistentProviderRegistrations.java  | 11 +--
 webapps/docs/changelog.xml   | 16 
 4 files changed, 29 insertions(+), 3 deletions(-)


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



(tomcat) branch 10.1.x updated (acc2f01395 -> db91aa4186)

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

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


from acc2f01395 If the Jakarta Authentication fails with an exception, set 
a 500 status
 new a731053ef7 Create dirs if required when persisting Jakarta Auth 
provider config
 new 50dddaa068 Fix logic of delete tests
 new db91aa4186 Don't overwrite valid Principal from password callback will 
null

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


Summary of changes:
 .../authenticator/jaspic/CallbackHandlerImpl.java|  4 +++-
 .../authenticator/jaspic/LocalStrings.properties |  1 +
 .../jaspic/PersistentProviderRegistrations.java  | 11 +--
 webapps/docs/changelog.xml   | 16 
 4 files changed, 29 insertions(+), 3 deletions(-)


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



(tomcat) 02/03: Fix logic of delete tests

2024-09-19 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

commit 50dddaa068655435902867f0b03159c442790a32
Author: Mark Thomas 
AuthorDate: Thu Sep 19 14:57:55 2024 +0100

Fix logic of delete tests
---
 .../authenticator/jaspic/PersistentProviderRegistrations.java| 4 ++--
 webapps/docs/changelog.xml   | 5 +
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
index 2766807d9d..875ab1cff0 100644
--- 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
+++ 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
@@ -98,13 +98,13 @@ public final class PersistentProviderRegistrations {
 
 // Remove left over temporary files if present
 if (configFileOld.exists()) {
-if (configFileOld.delete()) {
+if (!configFileOld.delete()) {
 throw new 
SecurityException(sm.getString("persistentProviderRegistrations.existsDeleteFail",
 configFileOld.getAbsolutePath()));
 }
 }
 if (configFileNew.exists()) {
-if (configFileNew.delete()) {
+if (!configFileNew.delete()) {
 throw new 
SecurityException(sm.getString("persistentProviderRegistrations.existsDeleteFail",
 configFileNew.getAbsolutePath()));
 }
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 8fade95db0..c2c359f1f3 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -127,6 +127,11 @@
 create any necessary parent directories that don't already exist.
 (markt)
   
+  
+Correct the logic used to detect errors when deleting temporary files
+associated with persisting the Jakarta Authentication provider
+configuration. (markt)
+  
 
   
 


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



(tomcat) 03/03: Don't overwrite valid Principal from password callback will null

2024-09-19 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

commit ebe54c8206e89813020e964de47fb6256d1eab6a
Author: Mark Thomas 
AuthorDate: Thu Sep 19 14:59:04 2024 +0100

Don't overwrite valid Principal from password callback will null
---
 .../apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java   | 4 +++-
 webapps/docs/changelog.xml  | 6 ++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java 
b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
index e95654c4bc..afb0626eaf 100644
--- a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
+++ b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
@@ -69,7 +69,9 @@ public class CallbackHandlerImpl implements CallbackHandler, 
Contained {
 if (callback instanceof CallerPrincipalCallback) {
 CallerPrincipalCallback cpc = (CallerPrincipalCallback) 
callback;
 name = cpc.getName();
-principal = cpc.getPrincipal();
+if (cpc.getPrincipal() != null) {
+principal = cpc.getPrincipal();
+}
 subject = cpc.getSubject();
 } else if (callback instanceof GroupPrincipalCallback) {
 GroupPrincipalCallback gpc = (GroupPrincipalCallback) 
callback;
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 6d0064461f..5718f5898d 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -132,6 +132,12 @@
 associated with persisting the Jakarta Authentication provider
 configuration. (markt)
   
+  
+When processing Jakarta Authentication callbacks, don't overwrite a
+Principal obtained from the PasswordValidationCallback 
with
+null if the CallerPrincipalCallback does not
+provide a Principal. (markt)
+  
 
   
 


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



(tomcat) 01/03: Create dirs if required when persisting Jakarta Auth provider config

2024-09-19 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

commit fd33d1f39932aa483522e4ea68a94547d1040407
Author: Mark Thomas 
AuthorDate: Thu Sep 19 14:57:29 2024 +0100

Create dirs if required when persisting Jakarta Auth provider config

Unlikely to be required when running in Tomcat. Is required when running
the TCK since the persistence mechanism is used outside of Tomcat and
the dirs don.t exist.
---
 .../apache/catalina/authenticator/jaspic/LocalStrings.properties   | 1 +
 .../authenticator/jaspic/PersistentProviderRegistrations.java  | 7 +++
 webapps/docs/changelog.xml | 5 +
 3 files changed, 13 insertions(+)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties 
b/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
index 1930492629..7a3b0ece4a 100644
--- a/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
+++ b/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
@@ -29,6 +29,7 @@ jaspicAuthenticator.authenticate=Authenticating request for 
[{0}] via JASPIC
 
 persistentProviderRegistrations.deleteFail=The temporary file [{0}] cannot be 
deleted
 persistentProviderRegistrations.existsDeleteFail=The temporary file [{0}] 
already exists and cannot be deleted
+persistentProviderRegistrations.mkdirsFail=The directory for the persistent 
provider registrations [{0}] cannot be created
 persistentProviderRegistrations.moveFail=Failed to move [{0}] to [{1}]
 persistentProviderRegistrations.xmlFeatureEncoding=Exception configuring 
JASPIC to permit java encoding names in XML configuration files. Only IANA 
encoding names will be supported.
 
diff --git 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
index 40845783a0..2766807d9d 100644
--- 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
+++ 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
@@ -94,6 +94,7 @@ public final class PersistentProviderRegistrations {
 static void writeProviders(Providers providers, File configFile) {
 File configFileOld = new File(configFile.getAbsolutePath() + ".old");
 File configFileNew = new File(configFile.getAbsolutePath() + ".new");
+File configParent = configFileNew.getParentFile();
 
 // Remove left over temporary files if present
 if (configFileOld.exists()) {
@@ -108,6 +109,12 @@ public final class PersistentProviderRegistrations {
 configFileNew.getAbsolutePath()));
 }
 }
+if (!configParent.exists()) {
+if (!configParent.mkdirs()) {
+throw new 
SecurityException(sm.getString("persistentProviderRegistrations.mkdirsFail",
+configParent.getAbsolutePath()));
+}
+}
 
 // Write out the providers to the temporary new file
 try (OutputStream fos = new FileOutputStream(configFileNew);
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 10958df67c..303a27cf39 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -122,6 +122,11 @@
 explicitly set the HTTP response status to 500 as the
 ServerAuthContext may not have set it. (markt)
   
+  
+When persisting the Jakarta Authentication provider configuration,
+create any necessary parent directories that don't already exist.
+(markt)
+  
 
   
 


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



(tomcat) 02/03: Fix logic of delete tests

2024-09-19 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

commit 1477dee9be3d873356fa35d8e4b7dce8b148da17
Author: Mark Thomas 
AuthorDate: Thu Sep 19 14:57:55 2024 +0100

Fix logic of delete tests
---
 .../authenticator/jaspic/PersistentProviderRegistrations.java| 4 ++--
 webapps/docs/changelog.xml   | 5 +
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
index 2766807d9d..875ab1cff0 100644
--- 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
+++ 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
@@ -98,13 +98,13 @@ public final class PersistentProviderRegistrations {
 
 // Remove left over temporary files if present
 if (configFileOld.exists()) {
-if (configFileOld.delete()) {
+if (!configFileOld.delete()) {
 throw new 
SecurityException(sm.getString("persistentProviderRegistrations.existsDeleteFail",
 configFileOld.getAbsolutePath()));
 }
 }
 if (configFileNew.exists()) {
-if (configFileNew.delete()) {
+if (!configFileNew.delete()) {
 throw new 
SecurityException(sm.getString("persistentProviderRegistrations.existsDeleteFail",
 configFileNew.getAbsolutePath()));
 }
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 303a27cf39..6d0064461f 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -127,6 +127,11 @@
 create any necessary parent directories that don't already exist.
 (markt)
   
+  
+Correct the logic used to detect errors when deleting temporary files
+associated with persisting the Jakarta Authentication provider
+configuration. (markt)
+  
 
   
 


-
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 (6d097a6674 -> ebe54c8206)

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

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


from 6d097a6674 If the Jakarta Authentication fails with an exception, set 
a 500 status
 new fd33d1f399 Create dirs if required when persisting Jakarta Auth 
provider config
 new 1477dee9be Fix logic of delete tests
 new ebe54c8206 Don't overwrite valid Principal from password callback will 
null

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


Summary of changes:
 .../authenticator/jaspic/CallbackHandlerImpl.java|  4 +++-
 .../authenticator/jaspic/LocalStrings.properties |  1 +
 .../jaspic/PersistentProviderRegistrations.java  | 11 +--
 webapps/docs/changelog.xml   | 16 
 4 files changed, 29 insertions(+), 3 deletions(-)


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



(tomcat) branch main updated: Don't overwrite valid Principal from password callback will null

2024-09-19 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 bf7374b8f4 Don't overwrite valid Principal from password callback will 
null
bf7374b8f4 is described below

commit bf7374b8f4ab6f497b8ff906980904e17f755335
Author: Mark Thomas 
AuthorDate: Thu Sep 19 14:59:04 2024 +0100

Don't overwrite valid Principal from password callback will null
---
 .../org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java 
b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
index e95654c4bc..afb0626eaf 100644
--- a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
+++ b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
@@ -69,7 +69,9 @@ public class CallbackHandlerImpl implements CallbackHandler, 
Contained {
 if (callback instanceof CallerPrincipalCallback) {
 CallerPrincipalCallback cpc = (CallerPrincipalCallback) 
callback;
 name = cpc.getName();
-principal = cpc.getPrincipal();
+if (cpc.getPrincipal() != null) {
+principal = cpc.getPrincipal();
+}
 subject = cpc.getSubject();
 } else if (callback instanceof GroupPrincipalCallback) {
 GroupPrincipalCallback gpc = (GroupPrincipalCallback) 
callback;


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



(tomcat) 02/02: Fix logic of delete tests

2024-09-19 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

commit ce3b3e624a6230305658b7021d9b89130fcb8497
Author: Mark Thomas 
AuthorDate: Thu Sep 19 14:57:55 2024 +0100

Fix logic of delete tests
---
 .../authenticator/jaspic/PersistentProviderRegistrations.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
index 2766807d9d..875ab1cff0 100644
--- 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
+++ 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
@@ -98,13 +98,13 @@ public final class PersistentProviderRegistrations {
 
 // Remove left over temporary files if present
 if (configFileOld.exists()) {
-if (configFileOld.delete()) {
+if (!configFileOld.delete()) {
 throw new 
SecurityException(sm.getString("persistentProviderRegistrations.existsDeleteFail",
 configFileOld.getAbsolutePath()));
 }
 }
 if (configFileNew.exists()) {
-if (configFileNew.delete()) {
+if (!configFileNew.delete()) {
 throw new 
SecurityException(sm.getString("persistentProviderRegistrations.existsDeleteFail",
 configFileNew.getAbsolutePath()));
 }


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



(tomcat) branch main updated (805ab28395 -> ce3b3e624a)

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

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


from 805ab28395 If the Jakarta Authentication fails with an exception, set 
a 500 status
 new 44f38b18c3 Create dirs if required when persisting Jakarta Auth 
provider config
 new ce3b3e624a Fix logic of delete tests

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


Summary of changes:
 .../catalina/authenticator/jaspic/LocalStrings.properties |  1 +
 .../authenticator/jaspic/PersistentProviderRegistrations.java | 11 +--
 2 files changed, 10 insertions(+), 2 deletions(-)


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



(tomcat) 01/02: Create dirs if required when persisting Jakarta Auth provider config

2024-09-19 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

commit 44f38b18c3f1ad1b25316df0bd7f802c989e11c5
Author: Mark Thomas 
AuthorDate: Thu Sep 19 14:57:29 2024 +0100

Create dirs if required when persisting Jakarta Auth provider config

Unlikely to be required when running in Tomcat. Is required when running
the TCK since the persistence mechanism is used outside of Tomcat and
the dirs don.t exist.
---
 .../apache/catalina/authenticator/jaspic/LocalStrings.properties   | 1 +
 .../authenticator/jaspic/PersistentProviderRegistrations.java  | 7 +++
 2 files changed, 8 insertions(+)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties 
b/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
index 1930492629..7a3b0ece4a 100644
--- a/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
+++ b/java/org/apache/catalina/authenticator/jaspic/LocalStrings.properties
@@ -29,6 +29,7 @@ jaspicAuthenticator.authenticate=Authenticating request for 
[{0}] via JASPIC
 
 persistentProviderRegistrations.deleteFail=The temporary file [{0}] cannot be 
deleted
 persistentProviderRegistrations.existsDeleteFail=The temporary file [{0}] 
already exists and cannot be deleted
+persistentProviderRegistrations.mkdirsFail=The directory for the persistent 
provider registrations [{0}] cannot be created
 persistentProviderRegistrations.moveFail=Failed to move [{0}] to [{1}]
 persistentProviderRegistrations.xmlFeatureEncoding=Exception configuring 
JASPIC to permit java encoding names in XML configuration files. Only IANA 
encoding names will be supported.
 
diff --git 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
index 40845783a0..2766807d9d 100644
--- 
a/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
+++ 
b/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java
@@ -94,6 +94,7 @@ public final class PersistentProviderRegistrations {
 static void writeProviders(Providers providers, File configFile) {
 File configFileOld = new File(configFile.getAbsolutePath() + ".old");
 File configFileNew = new File(configFile.getAbsolutePath() + ".new");
+File configParent = configFileNew.getParentFile();
 
 // Remove left over temporary files if present
 if (configFileOld.exists()) {
@@ -108,6 +109,12 @@ public final class PersistentProviderRegistrations {
 configFileNew.getAbsolutePath()));
 }
 }
+if (!configParent.exists()) {
+if (!configParent.mkdirs()) {
+throw new 
SecurityException(sm.getString("persistentProviderRegistrations.mkdirsFail",
+configParent.getAbsolutePath()));
+}
+}
 
 // Write out the providers to the temporary new file
 try (OutputStream fos = new FileOutputStream(configFileNew);


-
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: If the Jakarta Authentication fails with an exception, set a 500 status

2024-09-19 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 7532f9dc4a If the Jakarta Authentication fails with an exception, set 
a 500 status
7532f9dc4a is described below

commit 7532f9dc4a8c37ec958f79dc82c4924a6c539223
Author: Mark Thomas 
AuthorDate: Thu Sep 19 13:25:24 2024 +0100

If the Jakarta Authentication fails with an exception, set a 500 status

Depending on what fails where, the status may not be set or may be set
incorrectly.
---
 java/org/apache/catalina/authenticator/AuthenticatorBase.java | 2 ++
 webapps/docs/changelog.xml| 5 +
 2 files changed, 7 insertions(+)

diff --git a/java/org/apache/catalina/authenticator/AuthenticatorBase.java 
b/java/org/apache/catalina/authenticator/AuthenticatorBase.java
index c0d4d8ccd5..4388cd2e9e 100644
--- a/java/org/apache/catalina/authenticator/AuthenticatorBase.java
+++ b/java/org/apache/catalina/authenticator/AuthenticatorBase.java
@@ -802,6 +802,8 @@ public abstract class AuthenticatorBase extends ValveBase 
implements Authenticat
 authStatus = 
state.serverAuthContext.validateRequest(state.messageInfo, client, null);
 } catch (AuthException e) {
 log.debug(sm.getString("authenticator.loginFail"), e);
+// Need to explicitly set the return code as the ServerAuthContext 
may not have done.
+response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
 return false;
 }
 
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 8074f32c43..3f9d8095f3 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -112,6 +112,11 @@
 creates one GenericPrincipal in the Subject.
 (markt)
   
+  
+If the Jakarta Authentication process fails with an Exception,
+explicitly set the HTTP response status to 500 as the
+ServerAuthContext may not have set it. (markt)
+  
 
   
 


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



(tomcat) branch 10.1.x updated: If the Jakarta Authentication fails with an exception, set a 500 status

2024-09-19 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 acc2f01395 If the Jakarta Authentication fails with an exception, set 
a 500 status
acc2f01395 is described below

commit acc2f01395f895980f5d8a64573fcc1bade13369
Author: Mark Thomas 
AuthorDate: Thu Sep 19 13:25:24 2024 +0100

If the Jakarta Authentication fails with an exception, set a 500 status

Depending on what fails where, the status may not be set or may be set
incorrectly.
---
 java/org/apache/catalina/authenticator/AuthenticatorBase.java | 2 ++
 webapps/docs/changelog.xml| 5 +
 2 files changed, 7 insertions(+)

diff --git a/java/org/apache/catalina/authenticator/AuthenticatorBase.java 
b/java/org/apache/catalina/authenticator/AuthenticatorBase.java
index ba5e1baa4b..db467ba4e9 100644
--- a/java/org/apache/catalina/authenticator/AuthenticatorBase.java
+++ b/java/org/apache/catalina/authenticator/AuthenticatorBase.java
@@ -803,6 +803,8 @@ public abstract class AuthenticatorBase extends ValveBase 
implements Authenticat
 authStatus = 
state.serverAuthContext.validateRequest(state.messageInfo, client, null);
 } catch (AuthException e) {
 log.debug(sm.getString("authenticator.loginFail"), e);
+// Need to explicitly set the return code as the ServerAuthContext 
may not have done.
+response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
 return false;
 }
 
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 2367fb89a6..310f6fd041 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -117,6 +117,11 @@
 creates one GenericPrincipal in the Subject.
 (markt)
   
+  
+If the Jakarta Authentication process fails with an Exception,
+explicitly set the HTTP response status to 500 as the
+ServerAuthContext may not have set it. (markt)
+  
 
   
 


-
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: If the Jakarta Authentication fails with an exception, set a 500 status

2024-09-19 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 6d097a6674 If the Jakarta Authentication fails with an exception, set 
a 500 status
6d097a6674 is described below

commit 6d097a66746635df6880fe7662a792156b0eca14
Author: Mark Thomas 
AuthorDate: Thu Sep 19 13:25:24 2024 +0100

If the Jakarta Authentication fails with an exception, set a 500 status

Depending on what fails where, the status may not be set or may be set
incorrectly.
---
 java/org/apache/catalina/authenticator/AuthenticatorBase.java | 2 ++
 webapps/docs/changelog.xml| 5 +
 2 files changed, 7 insertions(+)

diff --git a/java/org/apache/catalina/authenticator/AuthenticatorBase.java 
b/java/org/apache/catalina/authenticator/AuthenticatorBase.java
index ba5e1baa4b..db467ba4e9 100644
--- a/java/org/apache/catalina/authenticator/AuthenticatorBase.java
+++ b/java/org/apache/catalina/authenticator/AuthenticatorBase.java
@@ -803,6 +803,8 @@ public abstract class AuthenticatorBase extends ValveBase 
implements Authenticat
 authStatus = 
state.serverAuthContext.validateRequest(state.messageInfo, client, null);
 } catch (AuthException e) {
 log.debug(sm.getString("authenticator.loginFail"), e);
+// Need to explicitly set the return code as the ServerAuthContext 
may not have done.
+response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
 return false;
 }
 
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index fe24cb3bc0..10958df67c 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -117,6 +117,11 @@
 creates one GenericPrincipal in the Subject.
 (markt)
   
+  
+If the Jakarta Authentication process fails with an Exception,
+explicitly set the HTTP response status to 500 as the
+ServerAuthContext may not have set it. (markt)
+  
 
   
 


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



(tomcat) branch main updated: If the Jakarta Authentication fails with an exception, set a 500 status

2024-09-19 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 805ab28395 If the Jakarta Authentication fails with an exception, set 
a 500 status
805ab28395 is described below

commit 805ab28395dfd4f372376f648175585ef444fd88
Author: Mark Thomas 
AuthorDate: Thu Sep 19 13:25:24 2024 +0100

If the Jakarta Authentication fails with an exception, set a 500 status

Depending on what fails where, the status may not be set or may be set
incorrectly.
---
 java/org/apache/catalina/authenticator/AuthenticatorBase.java | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/java/org/apache/catalina/authenticator/AuthenticatorBase.java 
b/java/org/apache/catalina/authenticator/AuthenticatorBase.java
index ba5e1baa4b..db467ba4e9 100644
--- a/java/org/apache/catalina/authenticator/AuthenticatorBase.java
+++ b/java/org/apache/catalina/authenticator/AuthenticatorBase.java
@@ -803,6 +803,8 @@ public abstract class AuthenticatorBase extends ValveBase 
implements Authenticat
 authStatus = 
state.serverAuthContext.validateRequest(state.messageInfo, client, null);
 } catch (AuthException e) {
 log.debug(sm.getString("authenticator.loginFail"), e);
+// Need to explicitly set the return code as the ServerAuthContext 
may not have done.
+response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
 return false;
 }
 


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



(tomcat) branch 10.1.x updated: Fix JASPIC tests after updates to address TCK failures.

2024-09-18 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 7a8756b417 Fix JASPIC tests after updates to address TCK failures.
7a8756b417 is described below

commit 7a8756b41748ca6d7f97868ad73a474fd82d2933
Author: Mark Thomas 
AuthorDate: Thu Sep 19 07:23:51 2024 +0100

Fix JASPIC tests after updates to address TCK failures.
---
 .../TestJaspicCallbackHandlerInAuthenticator.java  | 28 ++
 1 file changed, 24 insertions(+), 4 deletions(-)

diff --git 
a/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
 
b/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
index 57aa8b3fae..1eee99b0a8 100644
--- 
a/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
+++ 
b/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
@@ -67,6 +67,12 @@ public class TestJaspicCallbackHandlerInAuthenticator {
 }
 
 
+/*
+ * This shouldn't happen in real usage. In the very unlikely event there 
is more than one CallerPrincipalCallback,
+ * it should return the same Principal each time.
+ *
+ * If there are multiple CallerPrincipalCallbacks, Tomcat uses the name 
from the most recent.
+ */
 @Test
 public void testCallerPrincipalCallback() throws Exception {
 CallbackHandler callbackHandler = createCallbackHandler(null);
@@ -81,30 +87,44 @@ public class TestJaspicCallbackHandlerInAuthenticator {
 });
 callbackHandler.handle(new Callback[] { cpc2 });
 Set credentials = clientSubject.getPrivateCredentials();
-Assert.assertTrue(credentials.size() == 2);
-Set names = new HashSet<>(Arrays.asList(new String[] { 
"name1", "name2" }));
+Assert.assertTrue(credentials.size() == 1);
+Set names = new HashSet<>(Arrays.asList(new String[] { "name2" 
}));
 for (Object o : credentials) {
 names.remove(((GenericPrincipal) o).getName());
 }
 Assert.assertTrue(names.isEmpty());
 }
 
+
+/*
+ * This shouldn't happen in real usage. In the very unlikely event there 
is more than one GroupPrincipalCallback,
+ * the groups from each should be merged into the final Principal.
+ *
+ * If there are multiple CallerPrincipalCallbacks, Tomcat uses the name 
from the most recent.
+ */
 @Test
 public void testGroupPrincipalCallback() throws Exception {
 CallbackHandler callbackHandler = createCallbackHandler(null);
 Subject clientSubject = new Subject();
 CallerPrincipalCallback cpc = new 
CallerPrincipalCallback(clientSubject, "name");
-GroupPrincipalCallback gpc = new GroupPrincipalCallback(clientSubject,
+GroupPrincipalCallback gpc1 = new GroupPrincipalCallback(clientSubject,
 new String[] { "group1", "group2" });
-callbackHandler.handle(new Callback[] { cpc, gpc });
+callbackHandler.handle(new Callback[] { cpc, gpc1 });
+GroupPrincipalCallback gpc2 = new GroupPrincipalCallback(clientSubject,
+new String[] { "group3", "group4" });
+callbackHandler.handle(new Callback[] { cpc, gpc2 });
 Set credentials = clientSubject.getPrivateCredentials();
 Assert.assertTrue(credentials.size() == 1);
 GenericPrincipal gp = (GenericPrincipal) credentials.iterator().next();
 Assert.assertEquals("name", gp.getName());
+Assert.assertEquals(4, gp.getRoles().length);
 Assert.assertTrue(gp.hasRole("group1"));
 Assert.assertTrue(gp.hasRole("group2"));
+Assert.assertTrue(gp.hasRole("group3"));
+Assert.assertTrue(gp.hasRole("group4"));
 }
 
+
 @Test
 public void testPasswordValidationCallback() throws Exception {
 CallbackHandler callbackHandler = createCallbackHandler(null);


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



(tomcat) branch 9.0.x updated: Fix JASPIC tests after updates to address TCK failures.

2024-09-18 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 ba7f750efa Fix JASPIC tests after updates to address TCK failures.
ba7f750efa is described below

commit ba7f750efae55338bd930ab372795585c803a085
Author: Mark Thomas 
AuthorDate: Thu Sep 19 07:23:51 2024 +0100

Fix JASPIC tests after updates to address TCK failures.
---
 .../TestJaspicCallbackHandlerInAuthenticator.java  | 28 ++
 1 file changed, 24 insertions(+), 4 deletions(-)

diff --git 
a/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
 
b/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
index 0c6c4e4605..03c420403f 100644
--- 
a/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
+++ 
b/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
@@ -66,6 +66,12 @@ public class TestJaspicCallbackHandlerInAuthenticator {
 }
 
 
+/*
+ * This shouldn't happen in real usage. In the very unlikely event there 
is more than one CallerPrincipalCallback,
+ * it should return the same Principal each time.
+ *
+ * If there are multiple CallerPrincipalCallbacks, Tomcat uses the name 
from the most recent.
+ */
 @Test
 public void testCallerPrincipalCallback() throws Exception {
 CallbackHandler callbackHandler = createCallbackHandler(null);
@@ -80,30 +86,44 @@ public class TestJaspicCallbackHandlerInAuthenticator {
 });
 callbackHandler.handle(new Callback[] { cpc2 });
 Set credentials = clientSubject.getPrivateCredentials();
-Assert.assertTrue(credentials.size() == 2);
-Set names = new HashSet<>(Arrays.asList(new String[] { 
"name1", "name2" }));
+Assert.assertTrue(credentials.size() == 1);
+Set names = new HashSet<>(Arrays.asList(new String[] { "name2" 
}));
 for (Object o : credentials) {
 names.remove(((GenericPrincipal) o).getName());
 }
 Assert.assertTrue(names.isEmpty());
 }
 
+
+/*
+ * This shouldn't happen in real usage. In the very unlikely event there 
is more than one GroupPrincipalCallback,
+ * the groups from each should be merged into the final Principal.
+ *
+ * If there are multiple CallerPrincipalCallbacks, Tomcat uses the name 
from the most recent.
+ */
 @Test
 public void testGroupPrincipalCallback() throws Exception {
 CallbackHandler callbackHandler = createCallbackHandler(null);
 Subject clientSubject = new Subject();
 CallerPrincipalCallback cpc = new 
CallerPrincipalCallback(clientSubject, "name");
-GroupPrincipalCallback gpc = new GroupPrincipalCallback(clientSubject,
+GroupPrincipalCallback gpc1 = new GroupPrincipalCallback(clientSubject,
 new String[] { "group1", "group2" });
-callbackHandler.handle(new Callback[] { cpc, gpc });
+callbackHandler.handle(new Callback[] { cpc, gpc1 });
+GroupPrincipalCallback gpc2 = new GroupPrincipalCallback(clientSubject,
+new String[] { "group3", "group4" });
+callbackHandler.handle(new Callback[] { cpc, gpc2 });
 Set credentials = clientSubject.getPrivateCredentials();
 Assert.assertTrue(credentials.size() == 1);
 GenericPrincipal gp = (GenericPrincipal) credentials.iterator().next();
 Assert.assertEquals("name", gp.getName());
+Assert.assertEquals(4, gp.getRoles().length);
 Assert.assertTrue(gp.hasRole("group1"));
 Assert.assertTrue(gp.hasRole("group2"));
+Assert.assertTrue(gp.hasRole("group3"));
+Assert.assertTrue(gp.hasRole("group4"));
 }
 
+
 @Test
 public void testPasswordValidationCallback() throws Exception {
 CallbackHandler callbackHandler = createCallbackHandler(null);


-
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: Fix JASPIC tests after updates to address TCK failures.

2024-09-18 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 8339eb7660 Fix JASPIC tests after updates to address TCK failures.
8339eb7660 is described below

commit 8339eb7660a4ff6afea687783541d97c819a41ac
Author: Mark Thomas 
AuthorDate: Thu Sep 19 07:23:51 2024 +0100

Fix JASPIC tests after updates to address TCK failures.
---
 .../TestJaspicCallbackHandlerInAuthenticator.java  | 28 ++
 1 file changed, 24 insertions(+), 4 deletions(-)

diff --git 
a/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
 
b/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
index 57aa8b3fae..1eee99b0a8 100644
--- 
a/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
+++ 
b/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
@@ -67,6 +67,12 @@ public class TestJaspicCallbackHandlerInAuthenticator {
 }
 
 
+/*
+ * This shouldn't happen in real usage. In the very unlikely event there 
is more than one CallerPrincipalCallback,
+ * it should return the same Principal each time.
+ *
+ * If there are multiple CallerPrincipalCallbacks, Tomcat uses the name 
from the most recent.
+ */
 @Test
 public void testCallerPrincipalCallback() throws Exception {
 CallbackHandler callbackHandler = createCallbackHandler(null);
@@ -81,30 +87,44 @@ public class TestJaspicCallbackHandlerInAuthenticator {
 });
 callbackHandler.handle(new Callback[] { cpc2 });
 Set credentials = clientSubject.getPrivateCredentials();
-Assert.assertTrue(credentials.size() == 2);
-Set names = new HashSet<>(Arrays.asList(new String[] { 
"name1", "name2" }));
+Assert.assertTrue(credentials.size() == 1);
+Set names = new HashSet<>(Arrays.asList(new String[] { "name2" 
}));
 for (Object o : credentials) {
 names.remove(((GenericPrincipal) o).getName());
 }
 Assert.assertTrue(names.isEmpty());
 }
 
+
+/*
+ * This shouldn't happen in real usage. In the very unlikely event there 
is more than one GroupPrincipalCallback,
+ * the groups from each should be merged into the final Principal.
+ *
+ * If there are multiple CallerPrincipalCallbacks, Tomcat uses the name 
from the most recent.
+ */
 @Test
 public void testGroupPrincipalCallback() throws Exception {
 CallbackHandler callbackHandler = createCallbackHandler(null);
 Subject clientSubject = new Subject();
 CallerPrincipalCallback cpc = new 
CallerPrincipalCallback(clientSubject, "name");
-GroupPrincipalCallback gpc = new GroupPrincipalCallback(clientSubject,
+GroupPrincipalCallback gpc1 = new GroupPrincipalCallback(clientSubject,
 new String[] { "group1", "group2" });
-callbackHandler.handle(new Callback[] { cpc, gpc });
+callbackHandler.handle(new Callback[] { cpc, gpc1 });
+GroupPrincipalCallback gpc2 = new GroupPrincipalCallback(clientSubject,
+new String[] { "group3", "group4" });
+callbackHandler.handle(new Callback[] { cpc, gpc2 });
 Set credentials = clientSubject.getPrivateCredentials();
 Assert.assertTrue(credentials.size() == 1);
 GenericPrincipal gp = (GenericPrincipal) credentials.iterator().next();
 Assert.assertEquals("name", gp.getName());
+Assert.assertEquals(4, gp.getRoles().length);
 Assert.assertTrue(gp.hasRole("group1"));
 Assert.assertTrue(gp.hasRole("group2"));
+Assert.assertTrue(gp.hasRole("group3"));
+Assert.assertTrue(gp.hasRole("group4"));
 }
 
+
 @Test
 public void testPasswordValidationCallback() throws Exception {
 CallbackHandler callbackHandler = createCallbackHandler(null);


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



(tomcat) branch main updated: Fix JASPIC tests after updates to address TCK failures.

2024-09-18 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 99d478b591 Fix JASPIC tests after updates to address TCK failures.
99d478b591 is described below

commit 99d478b591f5fd45c79baaf39322077061ea9e22
Author: Mark Thomas 
AuthorDate: Thu Sep 19 07:23:51 2024 +0100

Fix JASPIC tests after updates to address TCK failures.
---
 .../TestJaspicCallbackHandlerInAuthenticator.java  | 28 ++
 1 file changed, 24 insertions(+), 4 deletions(-)

diff --git 
a/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
 
b/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
index 57aa8b3fae..1eee99b0a8 100644
--- 
a/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
+++ 
b/test/org/apache/catalina/authenticator/TestJaspicCallbackHandlerInAuthenticator.java
@@ -67,6 +67,12 @@ public class TestJaspicCallbackHandlerInAuthenticator {
 }
 
 
+/*
+ * This shouldn't happen in real usage. In the very unlikely event there 
is more than one CallerPrincipalCallback,
+ * it should return the same Principal each time.
+ *
+ * If there are multiple CallerPrincipalCallbacks, Tomcat uses the name 
from the most recent.
+ */
 @Test
 public void testCallerPrincipalCallback() throws Exception {
 CallbackHandler callbackHandler = createCallbackHandler(null);
@@ -81,30 +87,44 @@ public class TestJaspicCallbackHandlerInAuthenticator {
 });
 callbackHandler.handle(new Callback[] { cpc2 });
 Set credentials = clientSubject.getPrivateCredentials();
-Assert.assertTrue(credentials.size() == 2);
-Set names = new HashSet<>(Arrays.asList(new String[] { 
"name1", "name2" }));
+Assert.assertTrue(credentials.size() == 1);
+Set names = new HashSet<>(Arrays.asList(new String[] { "name2" 
}));
 for (Object o : credentials) {
 names.remove(((GenericPrincipal) o).getName());
 }
 Assert.assertTrue(names.isEmpty());
 }
 
+
+/*
+ * This shouldn't happen in real usage. In the very unlikely event there 
is more than one GroupPrincipalCallback,
+ * the groups from each should be merged into the final Principal.
+ *
+ * If there are multiple CallerPrincipalCallbacks, Tomcat uses the name 
from the most recent.
+ */
 @Test
 public void testGroupPrincipalCallback() throws Exception {
 CallbackHandler callbackHandler = createCallbackHandler(null);
 Subject clientSubject = new Subject();
 CallerPrincipalCallback cpc = new 
CallerPrincipalCallback(clientSubject, "name");
-GroupPrincipalCallback gpc = new GroupPrincipalCallback(clientSubject,
+GroupPrincipalCallback gpc1 = new GroupPrincipalCallback(clientSubject,
 new String[] { "group1", "group2" });
-callbackHandler.handle(new Callback[] { cpc, gpc });
+callbackHandler.handle(new Callback[] { cpc, gpc1 });
+GroupPrincipalCallback gpc2 = new GroupPrincipalCallback(clientSubject,
+new String[] { "group3", "group4" });
+callbackHandler.handle(new Callback[] { cpc, gpc2 });
 Set credentials = clientSubject.getPrivateCredentials();
 Assert.assertTrue(credentials.size() == 1);
 GenericPrincipal gp = (GenericPrincipal) credentials.iterator().next();
 Assert.assertEquals("name", gp.getName());
+Assert.assertEquals(4, gp.getRoles().length);
 Assert.assertTrue(gp.hasRole("group1"));
 Assert.assertTrue(gp.hasRole("group2"));
+Assert.assertTrue(gp.hasRole("group3"));
+Assert.assertTrue(gp.hasRole("group4"));
 }
 
+
 @Test
 public void testPasswordValidationCallback() throws Exception {
 CallbackHandler callbackHandler = createCallbackHandler(null);


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



(tomcat) branch main updated: Don't create multiple GenericPrincipals per Subject

2024-09-18 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 5c9446a4fa Don't create multiple GenericPrincipals per Subject
5c9446a4fa is described below

commit 5c9446a4fa4b5074927e61cc46134f341bda46b2
Author: Mark Thomas 
AuthorDate: Wed Sep 18 21:48:33 2024 +0100

Don't create multiple GenericPrincipals per Subject
---
 .../authenticator/jaspic/CallbackHandlerImpl.java  | 74 ++
 1 file changed, 46 insertions(+), 28 deletions(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java 
b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
index 17d97c683c..e95654c4bc 100644
--- a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
+++ b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
@@ -18,9 +18,11 @@ package org.apache.catalina.authenticator.jaspic;
 
 import java.io.IOException;
 import java.security.Principal;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
+import java.util.Set;
 
 import javax.security.auth.Subject;
 import javax.security.auth.callback.Callback;
@@ -58,9 +60,11 @@ public class CallbackHandlerImpl implements CallbackHandler, 
Contained {
 String[] groups = null;
 
 if (callbacks != null) {
-// Need to combine data from multiple callbacks so use this to hold
-// the data
-// Process the callbacks
+/*
+ * There may be multiple callbacks passed to this method and/or 
multiple calls to this method. The Jakarta
+ * Authentication specification recommends that this class does 
not maintain state for individual requests
+ * and that the Subject is used to maintain state.
+ */
 for (Callback callback : callbacks) {
 if (callback instanceof CallerPrincipalCallback) {
 CallerPrincipalCallback cpc = (CallerPrincipalCallback) 
callback;
@@ -88,36 +92,50 @@ public class CallbackHandlerImpl implements 
CallbackHandler, Contained {
 }
 }
 
-// Create the GenericPrincipal
-Principal gp = getPrincipal(principal, name, groups);
-if (subject != null && gp != null) {
-subject.getPrivateCredentials().add(gp);
-}
-}
-}
+// If subject is null, there is nothing to do
+if (subject != null) {
 
+// Need a name to create a Principal
+if (name == null && principal != null) {
+name = principal.getName();
+}
 
-private Principal getPrincipal(Principal principal, String name, String[] 
groups) {
-// If the Principal is cached in the session JASPIC may simply return 
it
-if (principal instanceof GenericPrincipal) {
-return principal;
-}
-if (name == null && principal != null) {
-name = principal.getName();
-}
-if (name == null) {
-return null;
-}
-List roles;
-if (groups == null || groups.length == 0) {
-roles = Collections.emptyList();
-} else {
-roles = Arrays.asList(groups);
+if (name != null) {
+// If the Principal has been cached in the session, just 
return it.
+if (principal instanceof GenericPrincipal) {
+// Duplicates are unlikely and will be handled in 
AuthenticatorBase.getPrincipal()
+subject.getPrivateCredentials().add(principal);
+} else {
+/*
+ * There should only be a single GenericPrincipal in 
the private credentials for the Subject. If
+ * one is already present, merge the groups to create 
a new GenericPrincipal. The code assumes
+ * that the name and principal (if any) will be the 
same.
+ */
+List mergedRoles = new ArrayList<>();
+
+Set gps = 
subject.getPrivateCredentials(GenericPrincipal.class);
+if (!gps.isEmpty()) {
+GenericPrincipal gp = gps.iterator().next();
+mergedRoles.addAll(Arrays.asList(gp.getRoles()));
+// Remove the existing GenericPrincipal
+subject.getPrivateCredentials().remove(gp);
+}
+if (groups != null) {
+mergedRoles.addAll(Arrays.asList(groups));
+}
+
+   

(tomcat) branch 9.0.x updated: Don't create multiple GenericPrincipals per Subject

2024-09-18 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 845d8497d1 Don't create multiple GenericPrincipals per Subject
845d8497d1 is described below

commit 845d8497d183550833ace9cad0d70b9783aa63e7
Author: Mark Thomas 
AuthorDate: Wed Sep 18 21:48:33 2024 +0100

Don't create multiple GenericPrincipals per Subject
---
 .../authenticator/jaspic/CallbackHandlerImpl.java  | 74 ++
 webapps/docs/changelog.xml |  9 +++
 2 files changed, 55 insertions(+), 28 deletions(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java 
b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
index 80029e2f8c..b725ffe047 100644
--- a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
+++ b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
@@ -18,9 +18,11 @@ package org.apache.catalina.authenticator.jaspic;
 
 import java.io.IOException;
 import java.security.Principal;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
+import java.util.Set;
 
 import javax.security.auth.Subject;
 import javax.security.auth.callback.Callback;
@@ -57,9 +59,11 @@ public class CallbackHandlerImpl implements CallbackHandler, 
Contained {
 String[] groups = null;
 
 if (callbacks != null) {
-// Need to combine data from multiple callbacks so use this to hold
-// the data
-// Process the callbacks
+/*
+ * There may be multiple callbacks passed to this method and/or 
multiple calls to this method. The Jakarta
+ * Authentication specification recommends that this class does 
not maintain state for individual requests
+ * and that the Subject is used to maintain state.
+ */
 for (Callback callback : callbacks) {
 if (callback instanceof CallerPrincipalCallback) {
 CallerPrincipalCallback cpc = (CallerPrincipalCallback) 
callback;
@@ -87,36 +91,50 @@ public class CallbackHandlerImpl implements 
CallbackHandler, Contained {
 }
 }
 
-// Create the GenericPrincipal
-Principal gp = getPrincipal(principal, name, groups);
-if (subject != null && gp != null) {
-subject.getPrivateCredentials().add(gp);
-}
-}
-}
+// If subject is null, there is nothing to do
+if (subject != null) {
 
+// Need a name to create a Principal
+if (name == null && principal != null) {
+name = principal.getName();
+}
 
-private Principal getPrincipal(Principal principal, String name, String[] 
groups) {
-// If the Principal is cached in the session JASPIC may simply return 
it
-if (principal instanceof GenericPrincipal) {
-return principal;
-}
-if (name == null && principal != null) {
-name = principal.getName();
-}
-if (name == null) {
-return null;
-}
-List roles;
-if (groups == null || groups.length == 0) {
-roles = Collections.emptyList();
-} else {
-roles = Arrays.asList(groups);
+if (name != null) {
+// If the Principal has been cached in the session, just 
return it.
+if (principal instanceof GenericPrincipal) {
+// Duplicates are unlikely and will be handled in 
AuthenticatorBase.getPrincipal()
+subject.getPrivateCredentials().add(principal);
+} else {
+/*
+ * There should only be a single GenericPrincipal in 
the private credentials for the Subject. If
+ * one is already present, merge the groups to create 
a new GenericPrincipal. The code assumes
+ * that the name and principal (if any) will be the 
same.
+ */
+List mergedRoles = new ArrayList<>();
+
+Set gps = 
subject.getPrivateCredentials(GenericPrincipal.class);
+if (!gps.isEmpty()) {
+GenericPrincipal gp = gps.iterator().next();
+mergedRoles.addAll(Arrays.asList(gp.getRoles()));
+// Remove the existing GenericPrincipal
+subject.getPrivateCredentials().remove(gp);
+}
+if (groups != null) {
+   

(tomcat) branch 10.1.x updated: Don't create multiple GenericPrincipals per Subject

2024-09-18 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 ae3c73ad81 Don't create multiple GenericPrincipals per Subject
ae3c73ad81 is described below

commit ae3c73ad818fa892e8a815d6c1b2c078a80046bb
Author: Mark Thomas 
AuthorDate: Wed Sep 18 21:48:33 2024 +0100

Don't create multiple GenericPrincipals per Subject
---
 .../authenticator/jaspic/CallbackHandlerImpl.java  | 74 ++
 webapps/docs/changelog.xml |  7 +-
 2 files changed, 52 insertions(+), 29 deletions(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java 
b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
index 17d97c683c..e95654c4bc 100644
--- a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
+++ b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
@@ -18,9 +18,11 @@ package org.apache.catalina.authenticator.jaspic;
 
 import java.io.IOException;
 import java.security.Principal;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
+import java.util.Set;
 
 import javax.security.auth.Subject;
 import javax.security.auth.callback.Callback;
@@ -58,9 +60,11 @@ public class CallbackHandlerImpl implements CallbackHandler, 
Contained {
 String[] groups = null;
 
 if (callbacks != null) {
-// Need to combine data from multiple callbacks so use this to hold
-// the data
-// Process the callbacks
+/*
+ * There may be multiple callbacks passed to this method and/or 
multiple calls to this method. The Jakarta
+ * Authentication specification recommends that this class does 
not maintain state for individual requests
+ * and that the Subject is used to maintain state.
+ */
 for (Callback callback : callbacks) {
 if (callback instanceof CallerPrincipalCallback) {
 CallerPrincipalCallback cpc = (CallerPrincipalCallback) 
callback;
@@ -88,36 +92,50 @@ public class CallbackHandlerImpl implements 
CallbackHandler, Contained {
 }
 }
 
-// Create the GenericPrincipal
-Principal gp = getPrincipal(principal, name, groups);
-if (subject != null && gp != null) {
-subject.getPrivateCredentials().add(gp);
-}
-}
-}
+// If subject is null, there is nothing to do
+if (subject != null) {
 
+// Need a name to create a Principal
+if (name == null && principal != null) {
+name = principal.getName();
+}
 
-private Principal getPrincipal(Principal principal, String name, String[] 
groups) {
-// If the Principal is cached in the session JASPIC may simply return 
it
-if (principal instanceof GenericPrincipal) {
-return principal;
-}
-if (name == null && principal != null) {
-name = principal.getName();
-}
-if (name == null) {
-return null;
-}
-List roles;
-if (groups == null || groups.length == 0) {
-roles = Collections.emptyList();
-} else {
-roles = Arrays.asList(groups);
+if (name != null) {
+// If the Principal has been cached in the session, just 
return it.
+if (principal instanceof GenericPrincipal) {
+// Duplicates are unlikely and will be handled in 
AuthenticatorBase.getPrincipal()
+subject.getPrivateCredentials().add(principal);
+} else {
+/*
+ * There should only be a single GenericPrincipal in 
the private credentials for the Subject. If
+ * one is already present, merge the groups to create 
a new GenericPrincipal. The code assumes
+ * that the name and principal (if any) will be the 
same.
+ */
+List mergedRoles = new ArrayList<>();
+
+Set gps = 
subject.getPrivateCredentials(GenericPrincipal.class);
+if (!gps.isEmpty()) {
+GenericPrincipal gp = gps.iterator().next();
+mergedRoles.addAll(Arrays.asList(gp.getRoles()));
+// Remove the existing GenericPrincipal
+subject.getPrivateCredentials().remove(gp);
+}
+if (groups != null) {
+   

(tomcat) branch 11.0.x updated: Don't create multiple GenericPrincipals per Subject

2024-09-18 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 29e23c61e7 Don't create multiple GenericPrincipals per Subject
29e23c61e7 is described below

commit 29e23c61e7435f214f7b471b5a7453423cb2637c
Author: Mark Thomas 
AuthorDate: Wed Sep 18 21:48:33 2024 +0100

Don't create multiple GenericPrincipals per Subject
---
 .../authenticator/jaspic/CallbackHandlerImpl.java  | 74 ++
 webapps/docs/changelog.xml |  7 +-
 2 files changed, 52 insertions(+), 29 deletions(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java 
b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
index 17d97c683c..e95654c4bc 100644
--- a/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
+++ b/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java
@@ -18,9 +18,11 @@ package org.apache.catalina.authenticator.jaspic;
 
 import java.io.IOException;
 import java.security.Principal;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
+import java.util.Set;
 
 import javax.security.auth.Subject;
 import javax.security.auth.callback.Callback;
@@ -58,9 +60,11 @@ public class CallbackHandlerImpl implements CallbackHandler, 
Contained {
 String[] groups = null;
 
 if (callbacks != null) {
-// Need to combine data from multiple callbacks so use this to hold
-// the data
-// Process the callbacks
+/*
+ * There may be multiple callbacks passed to this method and/or 
multiple calls to this method. The Jakarta
+ * Authentication specification recommends that this class does 
not maintain state for individual requests
+ * and that the Subject is used to maintain state.
+ */
 for (Callback callback : callbacks) {
 if (callback instanceof CallerPrincipalCallback) {
 CallerPrincipalCallback cpc = (CallerPrincipalCallback) 
callback;
@@ -88,36 +92,50 @@ public class CallbackHandlerImpl implements 
CallbackHandler, Contained {
 }
 }
 
-// Create the GenericPrincipal
-Principal gp = getPrincipal(principal, name, groups);
-if (subject != null && gp != null) {
-subject.getPrivateCredentials().add(gp);
-}
-}
-}
+// If subject is null, there is nothing to do
+if (subject != null) {
 
+// Need a name to create a Principal
+if (name == null && principal != null) {
+name = principal.getName();
+}
 
-private Principal getPrincipal(Principal principal, String name, String[] 
groups) {
-// If the Principal is cached in the session JASPIC may simply return 
it
-if (principal instanceof GenericPrincipal) {
-return principal;
-}
-if (name == null && principal != null) {
-name = principal.getName();
-}
-if (name == null) {
-return null;
-}
-List roles;
-if (groups == null || groups.length == 0) {
-roles = Collections.emptyList();
-} else {
-roles = Arrays.asList(groups);
+if (name != null) {
+// If the Principal has been cached in the session, just 
return it.
+if (principal instanceof GenericPrincipal) {
+// Duplicates are unlikely and will be handled in 
AuthenticatorBase.getPrincipal()
+subject.getPrivateCredentials().add(principal);
+} else {
+/*
+ * There should only be a single GenericPrincipal in 
the private credentials for the Subject. If
+ * one is already present, merge the groups to create 
a new GenericPrincipal. The code assumes
+ * that the name and principal (if any) will be the 
same.
+ */
+List mergedRoles = new ArrayList<>();
+
+Set gps = 
subject.getPrivateCredentials(GenericPrincipal.class);
+if (!gps.isEmpty()) {
+GenericPrincipal gp = gps.iterator().next();
+mergedRoles.addAll(Arrays.asList(gp.getRoles()));
+// Remove the existing GenericPrincipal
+subject.getPrivateCredentials().remove(gp);
+}
+if (groups != null) {
+   

(tomcat) branch 10.1.x updated: Ensure ServerAuthModule.initialize() is called with simple registration

2024-09-17 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 4d479654d8 Ensure ServerAuthModule.initialize() is called with simple 
registration
4d479654d8 is described below

commit 4d479654d8f37268f92138a98810189b190accb2
Author: Mark Thomas 
AuthorDate: Tue Sep 17 20:11:08 2024 +0100

Ensure ServerAuthModule.initialize() is called with simple registration
---
 .../jaspic/AuthConfigFactoryImpl.java  | 47 +-
 webapps/docs/changelog.xml |  9 +
 2 files changed, 46 insertions(+), 10 deletions(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java 
b/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java
index 9da0d05551..73d95329f6 100644
--- a/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java
+++ b/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java
@@ -328,9 +328,7 @@ public class AuthConfigFactoryImpl extends 
AuthConfigFactory {
 ServletContext servletContext = (ServletContext) context;
 String appContext = servletContext.getVirtualServerName() + " " + 
servletContext.getContextPath();
 
-ServerAuthContext serverAuthContext = new 
SingleModuleServerAuthContext(serverAuthModule);
-ServerAuthConfig serverAuthConfig = new 
SingleContextServerAuthConfig(serverAuthContext, appContext);
-AuthConfigProvider authConfigProvider = new 
SingleConfigAuthConfigProvider(serverAuthConfig);
+AuthConfigProvider authConfigProvider = new 
SingleConfigAuthConfigProvider(serverAuthModule, appContext);
 
 return registerConfigProvider(authConfigProvider, 
SERVLET_LAYER_ID, appContext, "");
 }
@@ -576,12 +574,16 @@ public class AuthConfigFactoryImpl extends 
AuthConfigFactory {
 
 private static class SingleContextServerAuthConfig implements 
ServerAuthConfig {
 
-private final ServerAuthContext context;
+private final ServerAuthModule serverAuthModule;
 private final String appContext;
+private final CallbackHandler handler;
+private final Object serverAuthContextLock = new Object();
+private volatile ServerAuthContext serverAuthContext;
 
-SingleContextServerAuthConfig(ServerAuthContext context, String 
appContext) {
-this.context = context;
+SingleContextServerAuthConfig(ServerAuthModule serverAuthModule, 
String appContext, CallbackHandler handler) {
+this.serverAuthModule = serverAuthModule;
 this.appContext = appContext;
+this.handler = handler;
 }
 
 @Override
@@ -612,17 +614,32 @@ public class AuthConfigFactoryImpl extends 
AuthConfigFactory {
 @Override
 public ServerAuthContext getAuthContext(String authContextID, Subject 
serviceSubject,
 Map properties) throws AuthException {
-return context;
+/*
+ * Lazy initialization since we need to pass in the properties 
which aren't available until this point.
+ */
+if (serverAuthContext == null) {
+synchronized (serverAuthContextLock) {
+if (serverAuthContext == null) {
+serverAuthContext = new 
SingleModuleServerAuthContext(serverAuthModule);
+serverAuthModule.initialize(null, null, handler, 
properties);
+}
+}
+}
+return serverAuthContext;
 }
 }
 
 
 private static class SingleConfigAuthConfigProvider implements 
AuthConfigProvider {
 
-private final ServerAuthConfig serverAuthConfig;
+private final ServerAuthModule serverAuthModule;
+private final String appContext;
+private final Object serverAuthConfigLock = new Object();
+private volatile ServerAuthConfig serverAuthConfig;
 
-SingleConfigAuthConfigProvider(ServerAuthConfig serverAuthConfig) {
-this.serverAuthConfig = serverAuthConfig;
+SingleConfigAuthConfigProvider(ServerAuthModule serverAuthModule, 
String appContext) {
+this.serverAuthModule = serverAuthModule;
+this.appContext = appContext;
 }
 
 @Override
@@ -635,6 +652,16 @@ public class AuthConfigFactoryImpl extends 
AuthConfigFactory {
 @Override
 public ServerAuthConfig getServerAuthConfig(String layer, String 
appContext, CallbackHandler handler)
 throws AuthException {
+/*
+ * Lazy initialization since we need to pass in the 
CallbackHandler which isn't available until this point.
+ */
+if (serverAuthConfig == null) {

(tomcat) branch main updated: Ensure ServerAuthModule.initialize() is called with simple registration

2024-09-17 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 9eb06c829e Ensure ServerAuthModule.initialize() is called with simple 
registration
9eb06c829e is described below

commit 9eb06c829e03d09f2d9b26458192927d28bc24fa
Author: Mark Thomas 
AuthorDate: Tue Sep 17 20:11:08 2024 +0100

Ensure ServerAuthModule.initialize() is called with simple registration
---
 .../jaspic/AuthConfigFactoryImpl.java  | 47 +-
 1 file changed, 37 insertions(+), 10 deletions(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java 
b/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java
index 9da0d05551..73d95329f6 100644
--- a/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java
+++ b/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java
@@ -328,9 +328,7 @@ public class AuthConfigFactoryImpl extends 
AuthConfigFactory {
 ServletContext servletContext = (ServletContext) context;
 String appContext = servletContext.getVirtualServerName() + " " + 
servletContext.getContextPath();
 
-ServerAuthContext serverAuthContext = new 
SingleModuleServerAuthContext(serverAuthModule);
-ServerAuthConfig serverAuthConfig = new 
SingleContextServerAuthConfig(serverAuthContext, appContext);
-AuthConfigProvider authConfigProvider = new 
SingleConfigAuthConfigProvider(serverAuthConfig);
+AuthConfigProvider authConfigProvider = new 
SingleConfigAuthConfigProvider(serverAuthModule, appContext);
 
 return registerConfigProvider(authConfigProvider, 
SERVLET_LAYER_ID, appContext, "");
 }
@@ -576,12 +574,16 @@ public class AuthConfigFactoryImpl extends 
AuthConfigFactory {
 
 private static class SingleContextServerAuthConfig implements 
ServerAuthConfig {
 
-private final ServerAuthContext context;
+private final ServerAuthModule serverAuthModule;
 private final String appContext;
+private final CallbackHandler handler;
+private final Object serverAuthContextLock = new Object();
+private volatile ServerAuthContext serverAuthContext;
 
-SingleContextServerAuthConfig(ServerAuthContext context, String 
appContext) {
-this.context = context;
+SingleContextServerAuthConfig(ServerAuthModule serverAuthModule, 
String appContext, CallbackHandler handler) {
+this.serverAuthModule = serverAuthModule;
 this.appContext = appContext;
+this.handler = handler;
 }
 
 @Override
@@ -612,17 +614,32 @@ public class AuthConfigFactoryImpl extends 
AuthConfigFactory {
 @Override
 public ServerAuthContext getAuthContext(String authContextID, Subject 
serviceSubject,
 Map properties) throws AuthException {
-return context;
+/*
+ * Lazy initialization since we need to pass in the properties 
which aren't available until this point.
+ */
+if (serverAuthContext == null) {
+synchronized (serverAuthContextLock) {
+if (serverAuthContext == null) {
+serverAuthContext = new 
SingleModuleServerAuthContext(serverAuthModule);
+serverAuthModule.initialize(null, null, handler, 
properties);
+}
+}
+}
+return serverAuthContext;
 }
 }
 
 
 private static class SingleConfigAuthConfigProvider implements 
AuthConfigProvider {
 
-private final ServerAuthConfig serverAuthConfig;
+private final ServerAuthModule serverAuthModule;
+private final String appContext;
+private final Object serverAuthConfigLock = new Object();
+private volatile ServerAuthConfig serverAuthConfig;
 
-SingleConfigAuthConfigProvider(ServerAuthConfig serverAuthConfig) {
-this.serverAuthConfig = serverAuthConfig;
+SingleConfigAuthConfigProvider(ServerAuthModule serverAuthModule, 
String appContext) {
+this.serverAuthModule = serverAuthModule;
+this.appContext = appContext;
 }
 
 @Override
@@ -635,6 +652,16 @@ public class AuthConfigFactoryImpl extends 
AuthConfigFactory {
 @Override
 public ServerAuthConfig getServerAuthConfig(String layer, String 
appContext, CallbackHandler handler)
 throws AuthException {
+/*
+ * Lazy initialization since we need to pass in the 
CallbackHandler which isn't available until this point.
+ */
+if (serverAuthConfig == null) {
+synchronized (serverAuthConfigLock) {
+  

(tomcat) branch 11.0.x updated: Ensure ServerAuthModule.initialize() is called with simple registration

2024-09-17 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 9c916c9790 Ensure ServerAuthModule.initialize() is called with simple 
registration
9c916c9790 is described below

commit 9c916c9790ed92681cb2bc2495ef37ead66218b1
Author: Mark Thomas 
AuthorDate: Tue Sep 17 20:11:08 2024 +0100

Ensure ServerAuthModule.initialize() is called with simple registration
---
 .../jaspic/AuthConfigFactoryImpl.java  | 47 +-
 webapps/docs/changelog.xml |  9 +
 2 files changed, 46 insertions(+), 10 deletions(-)

diff --git 
a/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java 
b/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java
index 9da0d05551..73d95329f6 100644
--- a/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java
+++ b/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java
@@ -328,9 +328,7 @@ public class AuthConfigFactoryImpl extends 
AuthConfigFactory {
 ServletContext servletContext = (ServletContext) context;
 String appContext = servletContext.getVirtualServerName() + " " + 
servletContext.getContextPath();
 
-ServerAuthContext serverAuthContext = new 
SingleModuleServerAuthContext(serverAuthModule);
-ServerAuthConfig serverAuthConfig = new 
SingleContextServerAuthConfig(serverAuthContext, appContext);
-AuthConfigProvider authConfigProvider = new 
SingleConfigAuthConfigProvider(serverAuthConfig);
+AuthConfigProvider authConfigProvider = new 
SingleConfigAuthConfigProvider(serverAuthModule, appContext);
 
 return registerConfigProvider(authConfigProvider, 
SERVLET_LAYER_ID, appContext, "");
 }
@@ -576,12 +574,16 @@ public class AuthConfigFactoryImpl extends 
AuthConfigFactory {
 
 private static class SingleContextServerAuthConfig implements 
ServerAuthConfig {
 
-private final ServerAuthContext context;
+private final ServerAuthModule serverAuthModule;
 private final String appContext;
+private final CallbackHandler handler;
+private final Object serverAuthContextLock = new Object();
+private volatile ServerAuthContext serverAuthContext;
 
-SingleContextServerAuthConfig(ServerAuthContext context, String 
appContext) {
-this.context = context;
+SingleContextServerAuthConfig(ServerAuthModule serverAuthModule, 
String appContext, CallbackHandler handler) {
+this.serverAuthModule = serverAuthModule;
 this.appContext = appContext;
+this.handler = handler;
 }
 
 @Override
@@ -612,17 +614,32 @@ public class AuthConfigFactoryImpl extends 
AuthConfigFactory {
 @Override
 public ServerAuthContext getAuthContext(String authContextID, Subject 
serviceSubject,
 Map properties) throws AuthException {
-return context;
+/*
+ * Lazy initialization since we need to pass in the properties 
which aren't available until this point.
+ */
+if (serverAuthContext == null) {
+synchronized (serverAuthContextLock) {
+if (serverAuthContext == null) {
+serverAuthContext = new 
SingleModuleServerAuthContext(serverAuthModule);
+serverAuthModule.initialize(null, null, handler, 
properties);
+}
+}
+}
+return serverAuthContext;
 }
 }
 
 
 private static class SingleConfigAuthConfigProvider implements 
AuthConfigProvider {
 
-private final ServerAuthConfig serverAuthConfig;
+private final ServerAuthModule serverAuthModule;
+private final String appContext;
+private final Object serverAuthConfigLock = new Object();
+private volatile ServerAuthConfig serverAuthConfig;
 
-SingleConfigAuthConfigProvider(ServerAuthConfig serverAuthConfig) {
-this.serverAuthConfig = serverAuthConfig;
+SingleConfigAuthConfigProvider(ServerAuthModule serverAuthModule, 
String appContext) {
+this.serverAuthModule = serverAuthModule;
+this.appContext = appContext;
 }
 
 @Override
@@ -635,6 +652,16 @@ public class AuthConfigFactoryImpl extends 
AuthConfigFactory {
 @Override
 public ServerAuthConfig getServerAuthConfig(String layer, String 
appContext, CallbackHandler handler)
 throws AuthException {
+/*
+ * Lazy initialization since we need to pass in the 
CallbackHandler which isn't available until this point.
+ */
+if (serverAuthConfig == null) {

svn commit: r71623 - in /release/tomcat/tomcat-11: v11.0.0-M24/ v11.0.0-M25/

2024-09-16 Thread markt
Author: markt
Date: Mon Sep 16 19:18:02 2024
New Revision: 71623

Log:
Drop archived versions from CDN

Removed:
release/tomcat/tomcat-11/v11.0.0-M24/
release/tomcat/tomcat-11/v11.0.0-M25/


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



svn commit: r1920720 - in /tomcat/site/trunk: build.properties.default docs/download-11.html docs/index.html docs/migration-11.0.html docs/oldnews.html xdocs/download-11.xml xdocs/index.xml xdocs/migr

2024-09-16 Thread markt
Author: markt
Date: Mon Sep 16 19:16:07 2024
New Revision: 1920720

URL: http://svn.apache.org/viewvc?rev=1920720&view=rev
Log:
Update site for 11.0.0-M26 release

Modified:
tomcat/site/trunk/build.properties.default
tomcat/site/trunk/docs/download-11.html
tomcat/site/trunk/docs/index.html
tomcat/site/trunk/docs/migration-11.0.html
tomcat/site/trunk/docs/oldnews.html
tomcat/site/trunk/xdocs/download-11.xml
tomcat/site/trunk/xdocs/index.xml
tomcat/site/trunk/xdocs/migration-11.0.xml
tomcat/site/trunk/xdocs/oldnews.xml

Modified: tomcat/site/trunk/build.properties.default
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/build.properties.default?rev=1920720&r1=1920719&r2=1920720&view=diff
==
--- tomcat/site/trunk/build.properties.default (original)
+++ tomcat/site/trunk/build.properties.default Mon Sep 16 19:16:07 2024
@@ -38,7 +38,7 @@ tomcat.loc=https://downloads.apache.org/
 # - Tomcat versions -
 tomcat9.0=9.0.94
 tomcat10.1=10.1.29
-tomcat11.0=11.0.0-M25
+tomcat11.0=11.0.0-M26
 
 # - Download destination -
 tomcat-site-docs.home=${base.path}/tomcat-site-docs/

Modified: tomcat/site/trunk/docs/download-11.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/download-11.html?rev=1920720&r1=1920719&r2=1920720&view=diff
==
--- tomcat/site/trunk/docs/download-11.html (original)
+++ tomcat/site/trunk/docs/download-11.html Mon Sep 16 19:16:07 2024
@@ -19,7 +19,7 @@
 
   Quick Navigation
 
-[define v]11.0.0-M25[end]
+[define v]11.0.0-M26[end]
 https://downloads.apache.org/tomcat/tomcat-11/KEYS";>KEYS |
 [v] (beta) |
 Browse |

Modified: tomcat/site/trunk/docs/index.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/index.html?rev=1920720&r1=1920719&r2=1920720&view=diff
==
--- tomcat/site/trunk/docs/index.html (original)
+++ tomcat/site/trunk/docs/index.html Mon Sep 16 19:16:07 2024
@@ -34,6 +34,32 @@ wiki page.
 Apache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcat
 project logo are trademarks of the Apache Software Foundation.
 
+2024-09-16 Tomcat 11.0.0-M26 Released
+
+The Apache Tomcat Project is proud to announce the release of version 
11.0.0-M26
+(beta) of Apache Tomcat. This release is a milestone release and is targeted at
+Jakarta EE 11.
+Users of Tomcat 10 onwards should be aware that, as a result of the move 
from
+Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse
+Foundation, the primary package for all implemented APIs has changed from
+javax.* to jakarta.*. This will almost certainly
+require code changes to enable applications to migrate from Tomcat 9 and 
earlier
+to Tomcat 10 and later. A
+https://github.com/apache/tomcat-jakartaee-migration";>migration
+tool is available to aid this process.
+The notable changes in this release are:
+
+Fix the regression in HTTP/2 support introduced in 11.0.0-M25
+
+
+Full details of these changes, and all the other changes, are available in the
+Tomcat 11
+(beta) changelog.
+
+
+
+https://tomcat.apache.org/download-11.cgi";>Download
+
 2024-09-10 Tomcat 10.1.29 Released
 
 The Apache Tomcat Project is proud to announce the release of version 10.1.29
@@ -97,42 +123,6 @@ changelog.
 
 https://tomcat.apache.org/download-90.cgi";>Download
 
-2024-09-10 Tomcat 11.0.0-M25 Released
-
-The Apache Tomcat Project is proud to announce the release of version 
11.0.0-M25
-(beta) of Apache Tomcat. This release is a milestone release and is targeted at
-Jakarta EE 11.
-Users of Tomcat 10 onwards should be aware that, as a result of the move 
from
-Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse
-Foundation, the primary package for all implemented APIs has changed from
-javax.* to jakarta.*. This will almost certainly
-require code changes to enable applications to migrate from Tomcat 9 and 
earlier
-to Tomcat 10 and later. A
-https://github.com/apache/tomcat-jakartaee-migration";>migration
-tool is available to aid this process.
-The notable changes in this release are:
-
-Implement the recent clarification from the Jakarta Servlet project
-that if a content length is declared then once that many bytes have
-been written to the response, further writes should trigger an
-IOException
-If an HTTP/2 client resets a stream before the request body is fully
-written, ensure that any ReadListener is notified via a call to
-ReadListener.onErrror()
-An Exception being thrown during WebSocket message processing (e.g. in
-a method annotated with @onMessage) should not automatically cause the
-connection to close. The application should handle the exception and
-make the decision whet

svn commit: r1920719 - in /tomcat/site/trunk/docs/tomcat-11.0-doc: ./ annotationapi/ annotationapi/jakarta/annotation/ annotationapi/jakarta/annotation/security/ annotationapi/jakarta/annotation/sql/

2024-09-16 Thread markt
Author: markt
Date: Mon Sep 16 19:14:20 2024
New Revision: 1920719

URL: http://svn.apache.org/viewvc?rev=1920719&view=rev
Log:
Update docs for 11.0.0-M26


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

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



svn commit: r71621 - /dev/tomcat/tomcat-11/v11.0.0-M26/ /release/tomcat/tomcat-11/v11.0.0-M26/

2024-09-16 Thread markt
Author: markt
Date: Mon Sep 16 18:47:32 2024
New Revision: 71621

Log:
Release Tomcat 11.0.0-M26

Added:
release/tomcat/tomcat-11/v11.0.0-M26/
  - copied from r71620, dev/tomcat/tomcat-11/v11.0.0-M26/
Removed:
dev/tomcat/tomcat-11/v11.0.0-M26/


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



(tomcat-training) branch main updated: First pass at Tomcat 11 / Jakarta EE 11 presentation

2024-09-16 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-training.git


The following commit(s) were added to refs/heads/main by this push:
 new 675cf95  First pass at Tomcat 11 / Jakarta EE 11 presentation
675cf95 is described below

commit 675cf957896bf893168c472ebca11d5fccb63200
Author: Mark Thomas 
AuthorDate: Mon Sep 16 16:38:25 2024 +0100

First pass at Tomcat 11 / Jakarta EE 11 presentation
---
 index.html |  1 +
 modules/intro-markt.html   |  1 -
 modules/tomcat-11-jakarta-ee-11.html   | 86 +
 presentations/tomcat-11-jakarta-ee-11.html | 88 ++
 4 files changed, 175 insertions(+), 1 deletion(-)

diff --git a/index.html b/index.html
index 05e4dd2..d850dbb 100644
--- a/index.html
+++ b/index.html
@@ -38,6 +38,7 @@
 
   The following presentations are currently available
   
+Tomcat 11 
and Jakarta EE 11
 Tomcat 11 
Preview
   
 
diff --git a/modules/intro-markt.html b/modules/intro-markt.html
index 7e2de62..ac07d1b 100644
--- a/modules/intro-markt.html
+++ b/modules/intro-markt.html
@@ -25,6 +25,5 @@
   Tomcat since 2003Committer, PMC member
   Commons - Daemon, Pool, DBCP, BCELCommitter, PMC member
   ASF member, ASF security team, ASF infrastructure team,Director 
2016-19, VP Brand Management since 2018
-  Java EE Expert Groups for Servlet, WebSocket, Expression Language
   Jakarta Servlet, Pages, WebSocket and Expression 
LanguageCommitter
 
diff --git a/modules/tomcat-11-jakarta-ee-11.html 
b/modules/tomcat-11-jakarta-ee-11.html
new file mode 100644
index 000..9a45ebd
--- /dev/null
+++ b/modules/tomcat-11-jakarta-ee-11.html
@@ -0,0 +1,86 @@
+
+
+  Agenda
+  Jakarta EE 11
+  Tomcat 11
+
+
+  Jakarta EE 11 - Overview
+  Major Tomcat versions are aligned with Servlet specification releases
+  Originally planned for Q1 2024
+  Testing and Compatibility Kits (TCKs) refactoring taking longer than 
expected
+  Slipped to H1 2024 then H2 2024
+
+
+  Jakarta EE 11 - Progress
+  42 individual specifications - Tomcat implements 6
+  Those 6 are done
+  Tomcat 11 implements all 
+  Tomcat 11 passes the TCK for 5 of 6
+  Authentication TCK uses different framework - work in progress
+
+
+  Jakarta EE 11 - Key changes
+  Requires a minimum of Java 17
+  No SecurityManager support
+
+
+  Jakarta Servlet - 6.1
+  Safe HTTP session access for WebSocket
+  Invalid request parameters will always trigger an exception
+  HTTP/2 server push is deprecated
+  Lots of clarifications
+
+
+  Jakarta Pages - 4.0
+  Depreacted classes and methods have been removed
+  Updated ErrorData to support the new request attribute 
jakarta.servlet.error.query_string
+
+
+  Jakarta WebSocket - 2.2
+  Clarifed the responsibility for sending Ping messages
+  Added getSession() method to SendResult
+
+
+  Expression Language - 6.0
+  Remove all deprecated classes and methods
+  Dependency on JavaBeans API is now optional
+  Added support for java.util.Optional via OptionalELResolver
+
+
+  Tomcat 11
+  Specification / RFC updates
+  RFC 9218 - HTTP/2 priority frame support
+  Generally stricter with invalid input
+  32-bit Windows no longer supported
+  Added virtual thread support
+  Added TLSCertificateReloadListener
+
+
+  Tomcat 11
+  First stable release will be on Wednesday
+  25th anniversary of first Tomcat commit at the ASF
+  Join us for cake
+
+
+  Tomcat 11
+  Major versions are supported for ~10 years
+  Regular monthly release cycle
+  Stable APIs with backwards compatibility a priority
+  All open, repeatable issues fixed for next release
+
\ No newline at end of file
diff --git a/presentations/tomcat-11-jakarta-ee-11.html 
b/presentations/tomcat-11-jakarta-ee-11.html
new file mode 100644
index 000..17a5be4
--- /dev/null
+++ b/presentations/tomcat-11-jakarta-ee-11.html
@@ -0,0 +1,88 @@
+
+
+
+  
+
+
+
+Tomcat 11 and Jakarta EE
+
+
+
+
+
+
+
+
+
+
+  <!-- Transparent background image on all slides -->
+  body {
+position: relative;
+z-index: 1;
+  }
+  body::before {
+content: "";
+position: absolute;
+top: 0; 
+left: 0;
+width: 100%; 
+height: 100%;  
+opacity: .15; 
+z-index: -1;
+background: url( '../images/tomcat.svg' );
+background-position: center;
+background-size: 100%;
+background-repeat: no-repeat;
+  }
+
+  
+  
+
+  
+
+  Tomcat 11 &Jakarta EE 11
+
+ 

+ 
+ 

+  
+
+
+
+
+
+
+
+  // More info about initialization & config:
+  // - <a  rel="nofollow" href="https://revealjs.com/initialization/">https://re

(tomcat) branch 11.0.x updated: Increment version (to 11.0.0) for next release

2024-09-16 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 0195b62878 Increment version (to 11.0.0) for next release
0195b62878 is described below

commit 0195b62878cbd86c88fe2b1d4b9ee4020e87ea28
Author: Mark Thomas 
AuthorDate: Mon Sep 16 15:41:18 2024 +0100

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

diff --git a/build.properties.default b/build.properties.default
index 13b5f989ce..4254d0965e 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -33,7 +33,7 @@ version.major=11
 version.minor=0
 version.build=0
 version.patch=0
-version.suffix=-M26
+version.suffix=
 version.dev=-dev
 
 # - Build tools -
diff --git a/res/maven/mvn.properties.default b/res/maven/mvn.properties.default
index ada9efaada..a0c47caf07 100644
--- a/res/maven/mvn.properties.default
+++ b/res/maven/mvn.properties.default
@@ -39,7 +39,7 @@ 
maven.asf.release.repo.url=https://repository.apache.org/service/local/staging/d
 maven.asf.release.repo.repositoryId=apache.releases.https
 
 # Release version info
-maven.asf.release.deploy.version=11.0.0-M26
+maven.asf.release.deploy.version=11.0.0
 
 #Where do we load the libraries from
 tomcat.lib.path=../../output/build/lib
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 8df16407f4..9415f7c1cc 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -104,7 +104,8 @@
   They eventually become mixed with the numbered issues (i.e., numbered
   issues do not "pop up" wrt. others).
 -->
-
+
+
   
 
   


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



svn commit: r71561 - in /dev/tomcat/tomcat-11/v11.0.0-M26: ./ bin/ bin/embed/ src/

2024-09-13 Thread markt
Author: markt
Date: Fri Sep 13 17:45:44 2024
New Revision: 71561

Log:
Upload 11.0.0-M26 for voting

Added:
dev/tomcat/tomcat-11/v11.0.0-M26/
dev/tomcat/tomcat-11/v11.0.0-M26/KEYS
dev/tomcat/tomcat-11/v11.0.0-M26/README.html
dev/tomcat/tomcat-11/v11.0.0-M26/RELEASE-NOTES
dev/tomcat/tomcat-11/v11.0.0-M26/bin/
dev/tomcat/tomcat-11/v11.0.0-M26/bin/README.html

dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26-deployer.tar.gz   
(with props)

dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26-deployer.tar.gz.asc

dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26-deployer.tar.gz.sha512
dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26-deployer.zip  
 (with props)

dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26-deployer.zip.asc

dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26-deployer.zip.sha512

dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26-fulldocs.tar.gz   
(with props)

dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26-fulldocs.tar.gz.asc

dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26-fulldocs.tar.gz.sha512

dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26-windows-x64.zip   
(with props)

dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26-windows-x64.zip.asc

dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26-windows-x64.zip.sha512
dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26.exe   (with 
props)
dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26.exe.asc
dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26.exe.sha512
dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26.tar.gz   
(with props)
dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26.tar.gz.asc
dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26.tar.gz.sha512
dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26.zip   (with 
props)
dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26.zip.asc
dev/tomcat/tomcat-11/v11.0.0-M26/bin/apache-tomcat-11.0.0-M26.zip.sha512
dev/tomcat/tomcat-11/v11.0.0-M26/bin/embed/

dev/tomcat/tomcat-11/v11.0.0-M26/bin/embed/apache-tomcat-11.0.0-M26-embed.tar.gz
   (with props)

dev/tomcat/tomcat-11/v11.0.0-M26/bin/embed/apache-tomcat-11.0.0-M26-embed.tar.gz.asc

dev/tomcat/tomcat-11/v11.0.0-M26/bin/embed/apache-tomcat-11.0.0-M26-embed.tar.gz.sha512

dev/tomcat/tomcat-11/v11.0.0-M26/bin/embed/apache-tomcat-11.0.0-M26-embed.zip   
(with props)

dev/tomcat/tomcat-11/v11.0.0-M26/bin/embed/apache-tomcat-11.0.0-M26-embed.zip.asc

dev/tomcat/tomcat-11/v11.0.0-M26/bin/embed/apache-tomcat-11.0.0-M26-embed.zip.sha512
dev/tomcat/tomcat-11/v11.0.0-M26/src/
dev/tomcat/tomcat-11/v11.0.0-M26/src/apache-tomcat-11.0.0-M26-src.tar.gz   
(with props)
dev/tomcat/tomcat-11/v11.0.0-M26/src/apache-tomcat-11.0.0-M26-src.tar.gz.asc

dev/tomcat/tomcat-11/v11.0.0-M26/src/apache-tomcat-11.0.0-M26-src.tar.gz.sha512
dev/tomcat/tomcat-11/v11.0.0-M26/src/apache-tomcat-11.0.0-M26-src.zip   
(with props)
dev/tomcat/tomcat-11/v11.0.0-M26/src/apache-tomcat-11.0.0-M26-src.zip.asc
dev/tomcat/tomcat-11/v11.0.0-M26/src/apache-tomcat-11.0.0-M26-src.zip.sha512

Added: dev/tomcat/tomcat-11/v11.0.0-M26/KEYS
==
--- dev/tomcat/tomcat-11/v11.0.0-M26/KEYS (added)
+++ dev/tomcat/tomcat-11/v11.0.0-M26/KEYS Fri Sep 13 17:45:44 2024
@@ -0,0 +1,573 @@
+This file contains the PGP&GPG keys of various Apache developers.
+Please don't use them for email unless you have to. Their main
+purpose is code signing.
+
+Apache users: pgp < KEYS
+Apache developers:
+(pgpk -ll  && pgpk -xa ) >> this file.
+  or
+(gpg --fingerprint --list-sigs 
+ && gpg --armor --export ) >> this file.
+
+Apache developers: please ensure that your key is also available via the
+PGP keyservers (such as pgpkeys.mit.edu).
+
+
+pub   4096R/2F6059E7 2009-09-18
+  Key fingerprint = A9C5 DF4D 22E9 9998 D987  5A51 10C0 1C5A 2F60 59E7
+uid  Mark E D Thomas 
+sub   4096R/5E763BEC 2009-09-18
+
+-BEGIN PGP PUBLIC KEY BLOCK-
+Comment: GPGTools - http://gpgtools.org
+
+mQINBEq0DukBEAD4jovHOPJDxoD+JnO1Go2kiwpgRULasGlrVKuSUdP6wzcaqWmX
+pqtOJKKwW2MQFQLmg7nQ9RjJwy3QCbKNDJQA/bwbQT1F7WzTCz2S6vxC4zxKck4t
+6RZBq2dJsYKF0CEh6ZfY4dmKvhq+3istSoFRdHYoOPGWZpuRDqfZPdGm/m335/6K
+GH59oysn1NE7a2a+kZzjBSEgv23+l4Z1Rg7+fpz1JcdHSdC2Z+ZRxML25eVatRVz
+4yvDOZItqDURP24zWOodxgboldV6Y88C3v/7KRR+1vklzkuA2FqF8Q4r/2f0su7M
+UVviQcy29y/RlLSDTTYoVlCZ1ni14qFU7Hpw43KJtgXmcUwq31T1+SlXdYjNJ1aF
+kUi8BjCHDcSgE/IReKUanjHzm4XSymKDTeqqzidi4k6PDD4jyHb8k8vxi6qT6Udn
+lcfo5NBkkUT1TauhEy8ktHhbl9k60BvvMBP9l6cURiJg1WS77egI4P/82oPbzzFi
+GFqXyJKULVgxtdQ3JikCpodp3f1fh6PlYZwkW4xCJLJucJ5MiQp07HAkMVW5

(tomcat) 01/01: Tag 11.0.0-M26

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

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

commit e9935d107776339a4a48cf4e32195a763fbf8379
Author: Mark Thomas 
AuthorDate: Fri Sep 13 18:09:57 2024 +0100

Tag 11.0.0-M26
---
 build.properties.release |  54 +++
 res/install-win/Uninstall.exe.sig| Bin 0 -> 10202 bytes
 res/install-win/tomcat-installer.exe.sig | Bin 0 -> 10202 bytes
 res/maven/mvn.properties.release |  27 
 webapps/docs/changelog.xml   |   2 +-
 5 files changed, 82 insertions(+), 1 deletion(-)

diff --git a/build.properties.release b/build.properties.release
new file mode 100644
index 00..bd3bca2d4f
--- /dev/null
+++ b/build.properties.release
@@ -0,0 +1,54 @@
+# -
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -
+
+# This file was auto-generated by the pre-release Ant target.
+
+# Any unwanted settings may be over-ridden in a build.properties file located
+# in the same directory as this file.
+
+# Set the version-dev to "" (empty string) as this is not a development 
release.
+version.dev=
+
+# Ensure consistent timestamps for reproducible builds.
+ant.tstamp.now.iso=2024-09-13T16:51:17Z
+
+# Enable insertion of detached signatures into the Windows installer.
+do.codesigning=true
+
+# Re-use the same GPG executable.
+gpg.exec=C:/Program Files (x86)/GnuPG/bin/gpg.exe
+
+# Reproducible builds require the use of the build tools defined below. The
+# vendors (where appropriate) and versions must match exactly for a 
reproducible
+# build since this data is embedded in various files, particularly JAR file
+# manifests, as part of the build process.
+#
+# Apache Ant:  Apache Ant(TM) version 1.10.15 compiled on August 25 2024
+#
+# Java Name:   OpenJDK 64-Bit Server VM
+# Java Vendor: Eclipse Adoptium
+# Java Version:22.0.2+9
+
+# The following is provided for information only. Builds will be repeatable
+# whether or not the build environment is consistent with this information.
+#
+# OS:  amd64 Windows Server 2022 10.0
+# File encoding:   UTF-8
+#
+# Release Manager: markt
+release-java-version=22.0.2+9
+release-ant-version=1.10.15
diff --git a/res/install-win/Uninstall.exe.sig 
b/res/install-win/Uninstall.exe.sig
new file mode 100644
index 00..ce7cdad6eb
Binary files /dev/null and b/res/install-win/Uninstall.exe.sig differ
diff --git a/res/install-win/tomcat-installer.exe.sig 
b/res/install-win/tomcat-installer.exe.sig
new file mode 100644
index 00..e891210bb7
Binary files /dev/null and b/res/install-win/tomcat-installer.exe.sig differ
diff --git a/res/maven/mvn.properties.release b/res/maven/mvn.properties.release
new file mode 100644
index 00..8fcd4febf3
--- /dev/null
+++ b/res/maven/mvn.properties.release
@@ -0,0 +1,27 @@
+# -
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -
+
+# This file was auto-generated by the pre-release Ant target.
+
+# Remove "-dev" from the version since this is not a development release.
+maven.asf.rel

(tomcat) tag 11.0.0-M26 created (now e9935d1077)

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

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


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

 new e9935d1077 Tag 11.0.0-M26

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



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



(tomcat) branch 9.0.x updated: Fix regression caused by the fix for BZ 69302

2024-09-13 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 8eeef2bcf9 Fix regression caused by the fix for BZ 69302
8eeef2bcf9 is described below

commit 8eeef2bcf9dbad0eae7f7c739593fcea9a793770
Author: Mark Thomas 
AuthorDate: Fri Sep 13 16:27:56 2024 +0100

Fix regression caused by the fix for BZ 69302
---
 java/org/apache/coyote/http2/StreamProcessor.java  | 9 +
 test/org/apache/coyote/http2/TestHttp2Section_5_1.java | 3 +--
 webapps/docs/changelog.xml | 9 +
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/java/org/apache/coyote/http2/StreamProcessor.java 
b/java/org/apache/coyote/http2/StreamProcessor.java
index 1f3253b1fa..6c53748d46 100644
--- a/java/org/apache/coyote/http2/StreamProcessor.java
+++ b/java/org/apache/coyote/http2/StreamProcessor.java
@@ -85,6 +85,15 @@ class StreamProcessor extends AbstractProcessor {
 // Note: The regular processor uses the socketWrapper lock, but 
using that here triggers a deadlock
 processLock.lock();
 try {
+/*
+ * In some scenarios, error handling may trigger multiple 
ERROR events for the same stream. The first
+ * ERROR event process will close the stream and recycle it. 
Once the stream has been recycled it should
+ * not be used for processing any further events. The check 
below ensures that this is the case. In
+ * particular, Stream.recycle() should not be called more than 
once per Stream.
+ */
+if (!stream.equals(handler.getStream(stream.getIdAsInt( {
+return;
+}
 // HTTP/2 equivalent of AbstractConnectionHandler#process() 
without the
 // socket <-> processor mapping
 SocketState state = SocketState.CLOSED;
diff --git a/test/org/apache/coyote/http2/TestHttp2Section_5_1.java 
b/test/org/apache/coyote/http2/TestHttp2Section_5_1.java
index 312d5c97be..d72fb03efe 100644
--- a/test/org/apache/coyote/http2/TestHttp2Section_5_1.java
+++ b/test/org/apache/coyote/http2/TestHttp2Section_5_1.java
@@ -298,8 +298,7 @@ public class TestHttp2Section_5_1 extends Http2TestBase {
 sendRst(3, Http2Error.NO_ERROR.getCode());
 // Client reset triggers both a read error and a write error which in 
turn trigger two server resets
 parser.readFrame();
-parser.readFrame();
-Assert.assertEquals("3-RST-[5]\n3-RST-[5]\n", output.getTrace());
+Assert.assertEquals("3-RST-[5]\n", output.getTrace());
 output.clearTrace();
 
 // Open up the connection window.
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 95037934aa..f12ed97f5f 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -105,6 +105,15 @@
   issues do not "pop up" wrt. others).
 -->
 
+  
+
+  
+Fix 69320, a regression in the fix for 69302 that
+meant the HTTP/2 processing was likely to be broken for all clients 
once
+any client sent an HTTP/2 reset frame. (markt)
+  
+
+  
 
 
   


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



(tomcat) branch 10.1.x updated: Fix regression caused by the fix for BZ 69302

2024-09-13 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 b473f54a10 Fix regression caused by the fix for BZ 69302
b473f54a10 is described below

commit b473f54a102cb4fbd93723b33fa66e43f56fb9a1
Author: Mark Thomas 
AuthorDate: Fri Sep 13 16:27:56 2024 +0100

Fix regression caused by the fix for BZ 69302
---
 java/org/apache/coyote/http2/StreamProcessor.java  | 9 +
 test/org/apache/coyote/http2/TestHttp2Section_5_1.java | 3 +--
 webapps/docs/changelog.xml | 9 +
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/java/org/apache/coyote/http2/StreamProcessor.java 
b/java/org/apache/coyote/http2/StreamProcessor.java
index 78a676e271..6344e0f610 100644
--- a/java/org/apache/coyote/http2/StreamProcessor.java
+++ b/java/org/apache/coyote/http2/StreamProcessor.java
@@ -85,6 +85,15 @@ class StreamProcessor extends AbstractProcessor {
 // Note: The regular processor uses the socketWrapper lock, but 
using that here triggers a deadlock
 processLock.lock();
 try {
+/*
+ * In some scenarios, error handling may trigger multiple 
ERROR events for the same stream. The first
+ * ERROR event process will close the stream and recycle it. 
Once the stream has been recycled it should
+ * not be used for processing any further events. The check 
below ensures that this is the case. In
+ * particular, Stream.recycle() should not be called more than 
once per Stream.
+ */
+if (!stream.equals(handler.getStream(stream.getIdAsInt( {
+return;
+}
 // HTTP/2 equivalent of AbstractConnectionHandler#process() 
without the
 // socket <-> processor mapping
 SocketState state = SocketState.CLOSED;
diff --git a/test/org/apache/coyote/http2/TestHttp2Section_5_1.java 
b/test/org/apache/coyote/http2/TestHttp2Section_5_1.java
index 312d5c97be..d72fb03efe 100644
--- a/test/org/apache/coyote/http2/TestHttp2Section_5_1.java
+++ b/test/org/apache/coyote/http2/TestHttp2Section_5_1.java
@@ -298,8 +298,7 @@ public class TestHttp2Section_5_1 extends Http2TestBase {
 sendRst(3, Http2Error.NO_ERROR.getCode());
 // Client reset triggers both a read error and a write error which in 
turn trigger two server resets
 parser.readFrame();
-parser.readFrame();
-Assert.assertEquals("3-RST-[5]\n3-RST-[5]\n", output.getTrace());
+Assert.assertEquals("3-RST-[5]\n", output.getTrace());
 output.clearTrace();
 
 // Open up the connection window.
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 4de3ee1a47..d78cd2861e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -105,6 +105,15 @@
   issues do not "pop up" wrt. others).
 -->
 
+  
+
+  
+Fix 69320, a regression in the fix for 69302 that
+meant the HTTP/2 processing was likely to be broken for all clients 
once
+any client sent an HTTP/2 reset frame. (markt)
+  
+
+  
 
 
   


-
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: Fix regression caused by the fix for BZ 69302

2024-09-13 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 d1514d6836 Fix regression caused by the fix for BZ 69302
d1514d6836 is described below

commit d1514d68361182da2e328c0d32fbb99f43846b15
Author: Mark Thomas 
AuthorDate: Fri Sep 13 16:27:56 2024 +0100

Fix regression caused by the fix for BZ 69302
---
 java/org/apache/coyote/http2/StreamProcessor.java  | 9 +
 test/org/apache/coyote/http2/TestHttp2Section_5_1.java | 3 +--
 webapps/docs/changelog.xml | 9 +
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/java/org/apache/coyote/http2/StreamProcessor.java 
b/java/org/apache/coyote/http2/StreamProcessor.java
index 6a66a793c2..6bde60d921 100644
--- a/java/org/apache/coyote/http2/StreamProcessor.java
+++ b/java/org/apache/coyote/http2/StreamProcessor.java
@@ -85,6 +85,15 @@ class StreamProcessor extends AbstractProcessor {
 // Note: The regular processor uses the socketWrapper lock, but 
using that here triggers a deadlock
 processLock.lock();
 try {
+/*
+ * In some scenarios, error handling may trigger multiple 
ERROR events for the same stream. The first
+ * ERROR event process will close the stream and recycle it. 
Once the stream has been recycled it should
+ * not be used for processing any further events. The check 
below ensures that this is the case. In
+ * particular, Stream.recycle() should not be called more than 
once per Stream.
+ */
+if (!stream.equals(handler.getStream(stream.getIdAsInt( {
+return;
+}
 // HTTP/2 equivalent of AbstractConnectionHandler#process() 
without the
 // socket <-> processor mapping
 SocketState state = SocketState.CLOSED;
diff --git a/test/org/apache/coyote/http2/TestHttp2Section_5_1.java 
b/test/org/apache/coyote/http2/TestHttp2Section_5_1.java
index 312d5c97be..d72fb03efe 100644
--- a/test/org/apache/coyote/http2/TestHttp2Section_5_1.java
+++ b/test/org/apache/coyote/http2/TestHttp2Section_5_1.java
@@ -298,8 +298,7 @@ public class TestHttp2Section_5_1 extends Http2TestBase {
 sendRst(3, Http2Error.NO_ERROR.getCode());
 // Client reset triggers both a read error and a write error which in 
turn trigger two server resets
 parser.readFrame();
-parser.readFrame();
-Assert.assertEquals("3-RST-[5]\n3-RST-[5]\n", output.getTrace());
+Assert.assertEquals("3-RST-[5]\n", output.getTrace());
 output.clearTrace();
 
 // Open up the connection window.
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 2eaccfb06c..8df16407f4 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -105,6 +105,15 @@
   issues do not "pop up" wrt. others).
 -->
 
+  
+
+  
+Fix 69320, a regression in the fix for 69302 that
+meant the HTTP/2 processing was likely to be broken for all clients 
once
+any client sent an HTTP/2 reset frame. (markt)
+  
+
+  
 
 
   


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



(tomcat) branch main updated: Fix regression caused by the fix for BZ 69320

2024-09-13 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 d6e5a08843 Fix regression caused by the fix for BZ 69320
d6e5a08843 is described below

commit d6e5a088433af43a35293f9a2b19cff359efb79b
Author: Mark Thomas 
AuthorDate: Fri Sep 13 16:27:56 2024 +0100

Fix regression caused by the fix for BZ 69320
---
 java/org/apache/coyote/http2/StreamProcessor.java  | 9 +
 test/org/apache/coyote/http2/TestHttp2Section_5_1.java | 3 +--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/java/org/apache/coyote/http2/StreamProcessor.java 
b/java/org/apache/coyote/http2/StreamProcessor.java
index 6a66a793c2..6bde60d921 100644
--- a/java/org/apache/coyote/http2/StreamProcessor.java
+++ b/java/org/apache/coyote/http2/StreamProcessor.java
@@ -85,6 +85,15 @@ class StreamProcessor extends AbstractProcessor {
 // Note: The regular processor uses the socketWrapper lock, but 
using that here triggers a deadlock
 processLock.lock();
 try {
+/*
+ * In some scenarios, error handling may trigger multiple 
ERROR events for the same stream. The first
+ * ERROR event process will close the stream and recycle it. 
Once the stream has been recycled it should
+ * not be used for processing any further events. The check 
below ensures that this is the case. In
+ * particular, Stream.recycle() should not be called more than 
once per Stream.
+ */
+if (!stream.equals(handler.getStream(stream.getIdAsInt( {
+return;
+}
 // HTTP/2 equivalent of AbstractConnectionHandler#process() 
without the
 // socket <-> processor mapping
 SocketState state = SocketState.CLOSED;
diff --git a/test/org/apache/coyote/http2/TestHttp2Section_5_1.java 
b/test/org/apache/coyote/http2/TestHttp2Section_5_1.java
index 312d5c97be..d72fb03efe 100644
--- a/test/org/apache/coyote/http2/TestHttp2Section_5_1.java
+++ b/test/org/apache/coyote/http2/TestHttp2Section_5_1.java
@@ -298,8 +298,7 @@ public class TestHttp2Section_5_1 extends Http2TestBase {
 sendRst(3, Http2Error.NO_ERROR.getCode());
 // Client reset triggers both a read error and a write error which in 
turn trigger two server resets
 parser.readFrame();
-parser.readFrame();
-Assert.assertEquals("3-RST-[5]\n3-RST-[5]\n", output.getTrace());
+Assert.assertEquals("3-RST-[5]\n", output.getTrace());
 output.clearTrace();
 
 // Open up the connection window.


-
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: One more milestone will be required

2024-09-13 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 82cc203507 One more milestone will be required
82cc203507 is described below

commit 82cc203507b822f8d064c942b4dbeb426a148869
Author: Mark Thomas 
AuthorDate: Fri Sep 13 14:36:27 2024 +0100

One more milestone will be required
---
 build.properties.default | 2 +-
 res/maven/mvn.properties.default | 2 +-
 webapps/docs/changelog.xml   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/build.properties.default b/build.properties.default
index 4254d0965e..13b5f989ce 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -33,7 +33,7 @@ version.major=11
 version.minor=0
 version.build=0
 version.patch=0
-version.suffix=
+version.suffix=-M26
 version.dev=-dev
 
 # - Build tools -
diff --git a/res/maven/mvn.properties.default b/res/maven/mvn.properties.default
index a0c47caf07..ada9efaada 100644
--- a/res/maven/mvn.properties.default
+++ b/res/maven/mvn.properties.default
@@ -39,7 +39,7 @@ 
maven.asf.release.repo.url=https://repository.apache.org/service/local/staging/d
 maven.asf.release.repo.repositoryId=apache.releases.https
 
 # Release version info
-maven.asf.release.deploy.version=11.0.0
+maven.asf.release.deploy.version=11.0.0-M26
 
 #Where do we load the libraries from
 tomcat.lib.path=../../output/build/lib
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index d8141c5a26..2eaccfb06c 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -104,7 +104,7 @@
   They eventually become mixed with the numbered issues (i.e., numbered
   issues do not "pop up" wrt. others).
 -->
-
+
 
 
   


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



(tomcat) branch 10.1.x updated: Better log message trying to remove Processor from waitingProcessors

2024-09-13 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 3d0831fb7c Better log message trying to remove Processor from 
waitingProcessors
3d0831fb7c is described below

commit 3d0831fb7cd19dbec4ec7f2ebba15c03e3f9e030
Author: Mark Thomas 
AuthorDate: Fri Sep 13 14:06:17 2024 +0100

Better log message trying to remove Processor from waitingProcessors
---
 java/org/apache/coyote/AbstractProtocol.java   | 5 +++--
 java/org/apache/coyote/LocalStrings.properties | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/java/org/apache/coyote/AbstractProtocol.java 
b/java/org/apache/coyote/AbstractProtocol.java
index 662b3fdfb6..9f60d2e6e5 100644
--- a/java/org/apache/coyote/AbstractProtocol.java
+++ b/java/org/apache/coyote/AbstractProtocol.java
@@ -444,10 +444,11 @@ public abstract class AbstractProtocol implements 
ProtocolHandler, MBeanRegis
 
 
 public void removeWaitingProcessor(Processor processor) {
+boolean result = waitingProcessors.remove(processor);
 if (getLog().isTraceEnabled()) {
-
getLog().trace(sm.getString("abstractProtocol.waitingProcessor.remove", 
processor));
+getLog().trace(sm.getString(
+"abstractProtocol.waitingProcessor.remove", processor, 
Boolean.valueOf(result)));
 }
-waitingProcessors.remove(processor);
 }
 
 
diff --git a/java/org/apache/coyote/LocalStrings.properties 
b/java/org/apache/coyote/LocalStrings.properties
index cffa960ef7..7bd2b65303 100644
--- a/java/org/apache/coyote/LocalStrings.properties
+++ b/java/org/apache/coyote/LocalStrings.properties
@@ -40,7 +40,7 @@ abstractProtocol.mbeanDeregistrationFailed=Failed to 
deregister MBean named [{0}
 abstractProtocol.processorRegisterError=Error registering request processor
 abstractProtocol.processorUnregisterError=Error unregistering request processor
 abstractProtocol.waitingProcessor.add=Adding processor [{0}] to waiting 
processors
-abstractProtocol.waitingProcessor.remove=Removed processor [{0}] from waiting 
processors
+abstractProtocol.waitingProcessor.remove=Called remove for processor [{0}] 
from waiting processors with result [{1}]
 
 abstractProtocolHandler.asyncTimeoutError=Error processing async timeouts
 abstractProtocolHandler.destroy=Destroying ProtocolHandler [{0}]


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



(tomcat) branch 9.0.x updated: Better log message trying to remove Processor from waitingProcessors

2024-09-13 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 9769227a11 Better log message trying to remove Processor from 
waitingProcessors
9769227a11 is described below

commit 9769227a11e5b6431346ea8be3e78e8a971b5623
Author: Mark Thomas 
AuthorDate: Fri Sep 13 14:06:17 2024 +0100

Better log message trying to remove Processor from waitingProcessors
---
 java/org/apache/coyote/AbstractProtocol.java   | 5 +++--
 java/org/apache/coyote/LocalStrings.properties | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/java/org/apache/coyote/AbstractProtocol.java 
b/java/org/apache/coyote/AbstractProtocol.java
index 239152e614..1f896e5372 100644
--- a/java/org/apache/coyote/AbstractProtocol.java
+++ b/java/org/apache/coyote/AbstractProtocol.java
@@ -474,10 +474,11 @@ public abstract class AbstractProtocol implements 
ProtocolHandler, MBeanRegis
 
 
 public void removeWaitingProcessor(Processor processor) {
+boolean result = waitingProcessors.remove(processor);
 if (getLog().isTraceEnabled()) {
-
getLog().trace(sm.getString("abstractProtocol.waitingProcessor.remove", 
processor));
+getLog().trace(sm.getString(
+"abstractProtocol.waitingProcessor.remove", processor, 
Boolean.valueOf(result)));
 }
-waitingProcessors.remove(processor);
 }
 
 
diff --git a/java/org/apache/coyote/LocalStrings.properties 
b/java/org/apache/coyote/LocalStrings.properties
index cffa960ef7..7bd2b65303 100644
--- a/java/org/apache/coyote/LocalStrings.properties
+++ b/java/org/apache/coyote/LocalStrings.properties
@@ -40,7 +40,7 @@ abstractProtocol.mbeanDeregistrationFailed=Failed to 
deregister MBean named [{0}
 abstractProtocol.processorRegisterError=Error registering request processor
 abstractProtocol.processorUnregisterError=Error unregistering request processor
 abstractProtocol.waitingProcessor.add=Adding processor [{0}] to waiting 
processors
-abstractProtocol.waitingProcessor.remove=Removed processor [{0}] from waiting 
processors
+abstractProtocol.waitingProcessor.remove=Called remove for processor [{0}] 
from waiting processors with result [{1}]
 
 abstractProtocolHandler.asyncTimeoutError=Error processing async timeouts
 abstractProtocolHandler.destroy=Destroying ProtocolHandler [{0}]


-
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: Better log message trying to remove Processor from waitingProcessors

2024-09-13 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 f25e4e8428 Better log message trying to remove Processor from 
waitingProcessors
f25e4e8428 is described below

commit f25e4e8428923867b78ccab9d3affe0c0caf8fb2
Author: Mark Thomas 
AuthorDate: Fri Sep 13 14:06:17 2024 +0100

Better log message trying to remove Processor from waitingProcessors
---
 java/org/apache/coyote/AbstractProtocol.java   | 5 +++--
 java/org/apache/coyote/LocalStrings.properties | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/java/org/apache/coyote/AbstractProtocol.java 
b/java/org/apache/coyote/AbstractProtocol.java
index be928ed3d5..b73b673d46 100644
--- a/java/org/apache/coyote/AbstractProtocol.java
+++ b/java/org/apache/coyote/AbstractProtocol.java
@@ -444,10 +444,11 @@ public abstract class AbstractProtocol implements 
ProtocolHandler, MBeanRegis
 
 
 public void removeWaitingProcessor(Processor processor) {
+boolean result = waitingProcessors.remove(processor);
 if (getLog().isTraceEnabled()) {
-
getLog().trace(sm.getString("abstractProtocol.waitingProcessor.remove", 
processor));
+getLog().trace(sm.getString(
+"abstractProtocol.waitingProcessor.remove", processor, 
Boolean.valueOf(result)));
 }
-waitingProcessors.remove(processor);
 }
 
 
diff --git a/java/org/apache/coyote/LocalStrings.properties 
b/java/org/apache/coyote/LocalStrings.properties
index a2d1acf103..bd4e432e64 100644
--- a/java/org/apache/coyote/LocalStrings.properties
+++ b/java/org/apache/coyote/LocalStrings.properties
@@ -39,7 +39,7 @@ abstractProtocol.mbeanDeregistrationFailed=Failed to 
deregister MBean named [{0}
 abstractProtocol.processorRegisterError=Error registering request processor
 abstractProtocol.processorUnregisterError=Error unregistering request processor
 abstractProtocol.waitingProcessor.add=Adding processor [{0}] to waiting 
processors
-abstractProtocol.waitingProcessor.remove=Removed processor [{0}] from waiting 
processors
+abstractProtocol.waitingProcessor.remove=Called remove for processor [{0}] 
from waiting processors with result [{1}]
 
 abstractProtocolHandler.asyncTimeoutError=Error processing async timeouts
 abstractProtocolHandler.destroy=Destroying ProtocolHandler [{0}]


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



(tomcat) branch main updated: Better log message trying to remove Processor from waitingProcessors

2024-09-13 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 90254d7997 Better log message trying to remove Processor from 
waitingProcessors
90254d7997 is described below

commit 90254d7997dd4d32c449f9df03dffd56c7de78eb
Author: Mark Thomas 
AuthorDate: Fri Sep 13 14:06:17 2024 +0100

Better log message trying to remove Processor from waitingProcessors
---
 java/org/apache/coyote/AbstractProtocol.java   | 5 +++--
 java/org/apache/coyote/LocalStrings.properties | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/java/org/apache/coyote/AbstractProtocol.java 
b/java/org/apache/coyote/AbstractProtocol.java
index be928ed3d5..b73b673d46 100644
--- a/java/org/apache/coyote/AbstractProtocol.java
+++ b/java/org/apache/coyote/AbstractProtocol.java
@@ -444,10 +444,11 @@ public abstract class AbstractProtocol implements 
ProtocolHandler, MBeanRegis
 
 
 public void removeWaitingProcessor(Processor processor) {
+boolean result = waitingProcessors.remove(processor);
 if (getLog().isTraceEnabled()) {
-
getLog().trace(sm.getString("abstractProtocol.waitingProcessor.remove", 
processor));
+getLog().trace(sm.getString(
+"abstractProtocol.waitingProcessor.remove", processor, 
Boolean.valueOf(result)));
 }
-waitingProcessors.remove(processor);
 }
 
 
diff --git a/java/org/apache/coyote/LocalStrings.properties 
b/java/org/apache/coyote/LocalStrings.properties
index a2d1acf103..bd4e432e64 100644
--- a/java/org/apache/coyote/LocalStrings.properties
+++ b/java/org/apache/coyote/LocalStrings.properties
@@ -39,7 +39,7 @@ abstractProtocol.mbeanDeregistrationFailed=Failed to 
deregister MBean named [{0}
 abstractProtocol.processorRegisterError=Error registering request processor
 abstractProtocol.processorUnregisterError=Error unregistering request processor
 abstractProtocol.waitingProcessor.add=Adding processor [{0}] to waiting 
processors
-abstractProtocol.waitingProcessor.remove=Removed processor [{0}] from waiting 
processors
+abstractProtocol.waitingProcessor.remove=Called remove for processor [{0}] 
from waiting processors with result [{1}]
 
 abstractProtocolHandler.asyncTimeoutError=Error processing async timeouts
 abstractProtocolHandler.destroy=Destroying ProtocolHandler [{0}]


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



(tomcat-tck) branch main updated: Update Tomcat SNAPSHOT version to test

2024-09-11 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-tck.git


The following commit(s) were added to refs/heads/main by this push:
 new cf12e16  Update Tomcat SNAPSHOT version to test
cf12e16 is described below

commit cf12e1675abd371f46054119bc977b78dbd12b3d
Author: Mark Thomas 
AuthorDate: Wed Sep 11 14:50:30 2024 +0100

Update Tomcat SNAPSHOT version to test
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index f86724e..0de7e57 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
 17
 
 
-11.0.0-M25-SNAPSHOT
+11.0.0-SNAPSHOT
 
 
 4


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



(tomcat-tck) branch main updated: EL TCK 6.0.1 has been published

2024-09-11 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-tck.git


The following commit(s) were added to refs/heads/main by this push:
 new b178c45  EL TCK 6.0.1 has been published
b178c45 is described below

commit b178c45f05f0b0874cd2241de0d9d601896d793d
Author: Mark Thomas 
AuthorDate: Wed Sep 11 14:47:58 2024 +0100

EL TCK 6.0.1 has been published
---
 download/pom.xml | 5 -
 1 file changed, 5 deletions(-)

diff --git a/download/pom.xml b/download/pom.xml
index bedc40b..af7f501 100644
--- a/download/pom.xml
+++ b/download/pom.xml
@@ -55,12 +55,7 @@
 wget
 
 
-
-
-
-
https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee11/staged/eftl/jakarta-expression-language-tck-6.0.1.zip
 true
 
${project.build.directory}
 
8ca4339e1b93c8f490c38b5888d8a54d09f7d12257b222bff2d44d665f323cee


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



(tomcat-training) branch dependabot/npm_and_yarn/postcss-8.4.31 deleted (was 48dd3b9)

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

markt pushed a change to branch dependabot/npm_and_yarn/postcss-8.4.31
in repository https://gitbox.apache.org/repos/asf/tomcat-training.git


 was 48dd3b9  Bump postcss from 8.4.7 to 8.4.31

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.


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



(tomcat-training) branch main updated (f643d5b -> 32d8153)

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

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


from f643d5b  First draft of Jakarta EE 11 / Tomcat 11 preview
 add 48dd3b9  Bump postcss from 8.4.7 to 8.4.31
 new 32d8153  Merge pull request #33 from 
apache/dependabot/npm_and_yarn/postcss-8.4.31

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


Summary of changes:
 package-lock.json | 52 ++--
 1 file changed, 34 insertions(+), 18 deletions(-)


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



(tomcat-training) 01/01: Merge pull request #33 from apache/dependabot/npm_and_yarn/postcss-8.4.31

2024-09-11 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-training.git

commit 32d8153a085d6cc1fa5ffeccc84c4976ee2d38ba
Merge: f643d5b 48dd3b9
Author: Mark Thomas 
AuthorDate: Wed Sep 11 13:54:31 2024 +0100

Merge pull request #33 from apache/dependabot/npm_and_yarn/postcss-8.4.31

Bump postcss from 8.4.7 to 8.4.31

 package-lock.json | 52 ++--
 1 file changed, 34 insertions(+), 18 deletions(-)


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



(tomcat) branch main updated: Update baseline version for 12.0.0-M1

2024-09-11 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 618a354227 Update baseline version for 12.0.0-M1
618a354227 is described below

commit 618a354227e801a95be367496e5fa5cf1a9cf53f
Author: Mark Thomas 
AuthorDate: Wed Sep 11 11:26:34 2024 +0100

Update baseline version for 12.0.0-M1
---
 webapps/docs/changelog.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 788a5a2682..b30a554613 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -109,7 +109,7 @@
 
   
 This release contains all of the changes up to and including those in
-Apache Tomcat 11.0.0-M26 plus the additional changes listed below. 
(markt)
+Apache Tomcat 11.0.0 plus the additional changes listed below. (markt)
   
 
   


-
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: Next release expected to be 11.0.0

2024-09-11 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 e26440e475 Next release expected to be 11.0.0
e26440e475 is described below

commit e26440e475e69c9fd945bf7abecf8e1a809f2313
Author: Mark Thomas 
AuthorDate: Wed Sep 11 11:26:05 2024 +0100

Next release expected to be 11.0.0
---
 build.properties.default | 2 +-
 res/maven/mvn.properties.default | 2 +-
 webapps/docs/changelog.xml   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/build.properties.default b/build.properties.default
index 13b5f989ce..4254d0965e 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -33,7 +33,7 @@ version.major=11
 version.minor=0
 version.build=0
 version.patch=0
-version.suffix=-M26
+version.suffix=
 version.dev=-dev
 
 # - Build tools -
diff --git a/res/maven/mvn.properties.default b/res/maven/mvn.properties.default
index ada9efaada..a0c47caf07 100644
--- a/res/maven/mvn.properties.default
+++ b/res/maven/mvn.properties.default
@@ -39,7 +39,7 @@ 
maven.asf.release.repo.url=https://repository.apache.org/service/local/staging/d
 maven.asf.release.repo.repositoryId=apache.releases.https
 
 # Release version info
-maven.asf.release.deploy.version=11.0.0-M26
+maven.asf.release.deploy.version=11.0.0
 
 #Where do we load the libraries from
 tomcat.lib.path=../../output/build/lib
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 2eaccfb06c..d8141c5a26 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -104,7 +104,7 @@
   They eventually become mixed with the numbered issues (i.e., numbered
   issues do not "pop up" wrt. others).
 -->
-
+
 
 
   


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



svn commit: r1920556 - in /tomcat/site/trunk: docs/index.html xdocs/index.xml

2024-09-10 Thread markt
Author: markt
Date: Wed Sep 11 06:38:02 2024
New Revision: 1920556

URL: http://svn.apache.org/viewvc?rev=1920556&view=rev
Log:
Correct release year for 1.2.50

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

Modified: tomcat/site/trunk/docs/index.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/index.html?rev=1920556&r1=1920555&r2=1920556&view=diff
==
--- tomcat/site/trunk/docs/index.html (original)
+++ tomcat/site/trunk/docs/index.html Wed Sep 11 06:38:02 2024
@@ -93,7 +93,7 @@ Full details of these changes, and all t
 
 https://tomcat.apache.org/download-11.cgi";>Download
 
-2023-08-12 Tomcat Connectors 1.2.50 Released
+2024-08-12 Tomcat Connectors 1.2.50 Released
 
 The Apache Tomcat Project is proud to announce the release of version 1.2.50 of
 Apache Tomcat Connectors.

Modified: tomcat/site/trunk/xdocs/index.xml
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/index.xml?rev=1920556&r1=1920555&r2=1920556&view=diff
==
--- tomcat/site/trunk/xdocs/index.xml (original)
+++ tomcat/site/trunk/xdocs/index.xml Wed Sep 11 06:38:02 2024
@@ -119,7 +119,7 @@ Full details of these changes, and all t
 
 
 
-
+
 
 The Apache Tomcat Project is proud to announce the release of version 1.2.50 of
 Apache Tomcat Connectors.



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



svn commit: r1920548 - in /tomcat/site/trunk: build.properties.default docs/download-11.html docs/index.html docs/migration-11.0.html docs/oldnews.html xdocs/download-11.xml xdocs/index.xml xdocs/migr

2024-09-10 Thread markt
Author: markt
Date: Tue Sep 10 20:38:30 2024
New Revision: 1920548

URL: http://svn.apache.org/viewvc?rev=1920548&view=rev
Log:
Update site for 11.0.0-M25 release

Modified:
tomcat/site/trunk/build.properties.default
tomcat/site/trunk/docs/download-11.html
tomcat/site/trunk/docs/index.html
tomcat/site/trunk/docs/migration-11.0.html
tomcat/site/trunk/docs/oldnews.html
tomcat/site/trunk/xdocs/download-11.xml
tomcat/site/trunk/xdocs/index.xml
tomcat/site/trunk/xdocs/migration-11.0.xml
tomcat/site/trunk/xdocs/oldnews.xml

Modified: tomcat/site/trunk/build.properties.default
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/build.properties.default?rev=1920548&r1=1920547&r2=1920548&view=diff
==
--- tomcat/site/trunk/build.properties.default (original)
+++ tomcat/site/trunk/build.properties.default Tue Sep 10 20:38:30 2024
@@ -38,7 +38,7 @@ tomcat.loc=https://downloads.apache.org/
 # - Tomcat versions -
 tomcat9.0=9.0.93
 tomcat10.1=10.1.28
-tomcat11.0=11.0.0-M24
+tomcat11.0=11.0.0-M25
 
 # - Download destination -
 tomcat-site-docs.home=${base.path}/tomcat-site-docs/

Modified: tomcat/site/trunk/docs/download-11.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/download-11.html?rev=1920548&r1=1920547&r2=1920548&view=diff
==
--- tomcat/site/trunk/docs/download-11.html (original)
+++ tomcat/site/trunk/docs/download-11.html Tue Sep 10 20:38:30 2024
@@ -19,7 +19,7 @@
 
   Quick Navigation
 
-[define v]11.0.0-M24[end]
+[define v]11.0.0-M25[end]
 https://downloads.apache.org/tomcat/tomcat-11/KEYS";>KEYS |
 [v] (beta) |
 Browse |

Modified: tomcat/site/trunk/docs/index.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/index.html?rev=1920548&r1=1920547&r2=1920548&view=diff
==
--- tomcat/site/trunk/docs/index.html (original)
+++ tomcat/site/trunk/docs/index.html Tue Sep 10 20:38:30 2024
@@ -34,6 +34,42 @@ wiki page.
 Apache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcat
 project logo are trademarks of the Apache Software Foundation.
 
+markt Tomcat 11.0.0-M25 Released
+
+The Apache Tomcat Project is proud to announce the release of version 
11.0.0-M25
+(beta) of Apache Tomcat. This release is a milestone release and is targeted at
+Jakarta EE 11.
+Users of Tomcat 10 onwards should be aware that, as a result of the move 
from
+Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse
+Foundation, the primary package for all implemented APIs has changed from
+javax.* to jakarta.*. This will almost certainly
+require code changes to enable applications to migrate from Tomcat 9 and 
earlier
+to Tomcat 10 and later. A
+https://github.com/apache/tomcat-jakartaee-migration";>migration
+tool is available to aid this process.
+The notable changes in this release are:
+
+Implement the recent clarification from the Jakarta Servlet project
+that if a content length is declared then once that many bytes have
+been written to the response, further writes should trigger an
+IOException
+If an HTTP/2 client resets a stream before the request body is fully
+written, ensure that any ReadListener is notified via a call to
+ReadListener.onErrror()
+An Exception being thrown during WebSocket message processing (e.g. in
+a method annotated with @onMessage) should not automatically cause the
+connection to close. The application should handle the exception and
+make the decision whether or not to close the connection. 
+
+
+Full details of these changes, and all the other changes, are available in the
+Tomcat 11
+(beta) changelog.
+
+
+
+https://tomcat.apache.org/download-11.cgi";>Download
+
 2023-08-12 Tomcat Connectors 1.2.50 Released
 
 The Apache Tomcat Project is proud to announce the release of version 1.2.50 of
@@ -83,40 +119,6 @@ changelog.
 
 https://tomcat.apache.org/download-10.cgi";>Download
 
-2024-08-06 Tomcat 11.0.0-M24 Released
-
-The Apache Tomcat Project is proud to announce the release of version 
11.0.0-M24
-(beta) of Apache Tomcat. This release is a milestone release and is targeted at
-Jakarta EE 11.
-Users of Tomcat 10 onwards should be aware that, as a result of the move 
from
-Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse
-Foundation, the primary package for all implemented APIs has changed from
-javax.* to jakarta.*. This will almost certainly
-require code changes to enable applications to migrate from Tomcat 9 and 
earlier
-to Tomcat 10 and later. A
-https://github.com/apache/tomcat-jakartaee-migration";>migration
-tool is available to aid this process.
-The notable changes in this release are:
-
-Align HTTP/2 with 

svn commit: r1920547 - in /tomcat/site/trunk/docs/tomcat-11.0-doc: ./ annotationapi/ annotationapi/jakarta/annotation/ annotationapi/jakarta/annotation/security/ annotationapi/jakarta/annotation/sql/

2024-09-10 Thread markt
Author: markt
Date: Tue Sep 10 20:37:43 2024
New Revision: 1920547

URL: http://svn.apache.org/viewvc?rev=1920547&view=rev
Log:
Update docs for 11.0.0-M25


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

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



(tomcat) branch 11.0.x updated: Add release date for 11.0.0-M25

2024-09-10 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 bfa70be6b4 Add release date for 11.0.0-M25
bfa70be6b4 is described below

commit bfa70be6b44d3ffafb0ccc6e5946439e5436ebf2
Author: Mark Thomas 
AuthorDate: Tue Sep 10 19:24:19 2024 +0100

Add release date for 11.0.0-M25
---
 webapps/docs/changelog.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index aedb162a7f..2eaccfb06c 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -106,7 +106,7 @@
 -->
 
 
-
+
   
 
   


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



svn commit: r71449 - /dev/tomcat/tomcat-11/v11.0.0-M25/ /release/tomcat/tomcat-11/v11.0.0-M25/

2024-09-10 Thread markt
Author: markt
Date: Tue Sep 10 18:21:00 2024
New Revision: 71449

Log:
Release Tomcat 11.0.0-M25

Added:
release/tomcat/tomcat-11/v11.0.0-M25/
  - copied from r71448, dev/tomcat/tomcat-11/v11.0.0-M25/
Removed:
dev/tomcat/tomcat-11/v11.0.0-M25/


-
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 (8ac8eb232e -> d0aa8b032d)

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

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


from 8ac8eb232e Checkstyle
 new fa27bc02a0 Add diagram 6 - deployment of applications by HostConfig
 new d0aa8b032d Add diagram 7 that shows Context configuration process

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


Summary of changes:
 webapps/docs/architecture/startup.xml  |  11 ++-
 .../startup/6_catalina_host_config.plantuml|  90 +
 .../startup/6_catalina_host_config.png | Bin 0 -> 65519 bytes
 .../startup/7_catalina_context_config.plantuml | 109 +
 .../startup/7_catalina_context_config.png  | Bin 0 -> 89731 bytes
 5 files changed, 207 insertions(+), 3 deletions(-)
 create mode 100644 
webapps/docs/architecture/startup/6_catalina_host_config.plantuml
 create mode 100644 webapps/docs/architecture/startup/6_catalina_host_config.png
 create mode 100644 
webapps/docs/architecture/startup/7_catalina_context_config.plantuml
 create mode 100644 
webapps/docs/architecture/startup/7_catalina_context_config.png


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



(tomcat) 01/02: Add diagram 6 - deployment of applications by HostConfig

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

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

commit fa27bc02a0211850d88e95bb6543c2463a67ed99
Author: Mark Thomas 
AuthorDate: Tue Sep 10 13:55:03 2024 +0100

Add diagram 6 - deployment of applications by HostConfig
---
 webapps/docs/architecture/startup.xml  |   5 +-
 .../startup/6_catalina_host_config.plantuml|  90 +
 .../startup/6_catalina_host_config.png | Bin 0 -> 65519 bytes
 3 files changed, 93 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index 28fec45bf2..c96eab6632 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -96,8 +96,9 @@ Clusters, Realms and Valves.
 for Context elements as it is rather more involved that the other Containers.
 
 
-Diagram 6 will show HostConfig.
-
+Diagram 5 shows how the
+HostConfig component responds to lifecycle events triggered by the Host to
+deploy web applications to the Host.
 
 Diagram 7 will show ContextConfig.
 
diff --git a/webapps/docs/architecture/startup/6_catalina_host_config.plantuml 
b/webapps/docs/architecture/startup/6_catalina_host_config.plantuml
new file mode 100644
index 00..7cd77e9b2c
--- /dev/null
+++ b/webapps/docs/architecture/startup/6_catalina_host_config.plantuml
@@ -0,0 +1,90 @@
+@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 Host
+
+== BEFORE_START_EVENT ==
+
+Host -> HostConfig ++:lifecycleEvent(BEFORE_START_EVENT)
+
+HostConfig -> HostConfig  ++: beforeStart()
+return
+
+return
+
+== START_EVENT ==
+
+Host -> HostConfig ++:lifecycleEvent(START_EVENT)
+
+HostConfig -> HostConfig ++: start()
+
+HostConfig -> HostConfig ++: deployApps()
+
+|||
+HostConfig -> HostConfig ++: migrateLegacyApps()
+return
+
+|||
+HostConfig -> HostConfig ++: deployDescriptors()
+return
+
+|||
+HostConfig -> HostConfig ++: deployWARs()
+return
+
+|||
+HostConfig -> HostConfig ++: deployDirectories()
+return
+
+return
+
+return
+
+return
+
+== PERIODIC_EVENT ==
+
+Host -> HostConfig ++:lifecycleEvent(PERIODIC_EVENT)
+
+HostConfig -> HostConfig  ++: check()
+
+group Each DeployedApplication is called sequentially
+HostConfig -> DeployedApplication ++: checkResources()
+note right
+Triggers reloading, redeployment
+or undeployment as appropriate
+depending on which resources have
+been added, removed and/or changed.
+end note
+return
+end group
+
+HostConfig -> HostConfig ++: deployApps()
+note right
+See START_EVENT for an expansion
+of the deployApps() call.
+end note
+return
+
+return
+
+return
+
+@enduml
\ No newline at end of file
diff --git a/webapps/docs/architecture/startup/6_catalina_host_config.png 
b/webapps/docs/architecture/startup/6_catalina_host_config.png
new file mode 100644
index 00..5f75867dc1
Binary files /dev/null and 
b/webapps/docs/architecture/startup/6_catalina_host_config.png differ


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



(tomcat) 02/02: Add diagram 7 that shows Context configuration process

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

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

commit d0aa8b032d7a541ea791906405422362aec4f2b6
Author: Mark Thomas 
AuthorDate: Tue Sep 10 17:02:36 2024 +0100

Add diagram 7 that shows Context configuration process
---
 webapps/docs/architecture/startup.xml  |   8 +-
 .../startup/7_catalina_context_config.plantuml | 109 +
 .../startup/7_catalina_context_config.png  | Bin 0 -> 89731 bytes
 3 files changed, 115 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index c96eab6632..c95e10495b 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -96,11 +96,15 @@ Clusters, Realms and Valves.
 for Context elements as it is rather more involved that the other Containers.
 
 
-Diagram 5 shows how the
+Diagram 6 shows how the
 HostConfig component responds to lifecycle events triggered by the Host to
 deploy web applications to the Host.
 
-Diagram 7 will show ContextConfig.
+Diagram 7 shows how the
+ContextConfig component responds to lifecycle events triggered by the Context 
to
+parse the global and application provided configuration files to create a 
merged
+web.xml file that is then used, along with other settings, to configure the web
+application.
 
 
 
diff --git 
a/webapps/docs/architecture/startup/7_catalina_context_config.plantuml 
b/webapps/docs/architecture/startup/7_catalina_context_config.plantuml
new file mode 100644
index 00..98a70cb5cd
--- /dev/null
+++ b/webapps/docs/architecture/startup/7_catalina_context_config.plantuml
@@ -0,0 +1,109 @@
+@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 Context
+
+== BEFORE_START_EVENT ==
+
+Context -> ContextConfig ++:lifecycleEvent(BEFORE_START_EVENT)
+
+ContextConfig -> ContextConfig ++: beforeStart()
+
+ContextConfig -> ContextConfig: fixDocBase()
+
+ContextConfig -> ContextConfig: antiLocking()
+
+return
+
+return
+
+== CONFIGURE_START_EVENT ==
+
+Context -> ContextConfig ++:lifecycleEvent(CONFIGURE_START_EVENT)
+
+ContextConfig -> ContextConfig ++: configureStart()
+
+ContextConfig -> ContextConfig ++: webConfig()
+
+ContextConfig --> WebXmlParser **
+
+ContextConfig -> ContextConfig ++: getDefaultWebXmlFragment()
+
+ContextConfig -> WebXmlParser ++: parseWebXml(defaultWebXml)
+return
+
+return
+
+ContextConfig -> ContextConfig ++: getTomcatWebXmlFragment()
+
+ContextConfig -> WebXmlParser ++: parseWebXml(tomcatWebXml)
+return
+
+return
+
+ContextConfig --> WebXml **
+
+ContextConfig -> WebXmlParser ++: parseWebXml(contextWebXml)
+WebXmlParser -> WebXml ++
+return
+return
+
+ContextConfig -> ContextConfig: processJarsForWebFragments()
+ContextConfig -> ContextConfig: processServletContainerInitializers()
+ContextConfig -> ContextConfig: processClasses()
+
+ContextConfig -> WebXml ++: merge(orderedFragments)
+return
+
+ContextConfig -> WebXml ++: merge(tomcatWebXml)
+return
+
+ContextConfig -> WebXml ++: merge(defaultWebXml)
+return
+
+ContextConfig -> ContextConfig: convertJsps()
+ContextConfig -> ContextConfig: configureContext()
+ContextConfig -> ContextConfig: processResourceJARs()
+
+return
+
+|||
+ContextConfig -> ContextConfig: applicationAnnotationsConfig()
+
+ContextConfig -> ContextConfig: validateSecurityRoles()
+
+ContextConfig -> ContextConfig: authenticatorConfig()
+
+return
+destroy WebXmlParser
+destroy WebXml
+
+return
+
+== AFTER_START_EVENT ==
+
+Context -> ContextConfig ++:lifecycleEvent(AFTER_START_EVENT)
+
+ContextConfig -> Context ++:setDocBase(originalDocBase)
+return
+
+return
+
+@enduml
\ No newline at end of file
diff --git a/webapps/docs/architecture/startup/7_catalina_context_config.png 
b/webapps/docs/architecture/startup/7_catalina_context_config.png
new file mode 100644
index 00..e8c6c48f0f
Binary files /dev/null and 
b/webapps/docs/architectur

(tomcat) branch 10.1.x updated (eb8552a1ce -> 20e545d6d0)

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

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


from eb8552a1ce Checkstyle
 new 1ede487a54 Add diagram 6 - deployment of applications by HostConfig
 new 20e545d6d0 Add diagram 7 that shows Context configuration process

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


Summary of changes:
 webapps/docs/architecture/startup.xml  |  11 ++-
 .../startup/6_catalina_host_config.plantuml|  90 +
 .../startup/6_catalina_host_config.png | Bin 0 -> 65519 bytes
 .../startup/7_catalina_context_config.plantuml | 109 +
 .../startup/7_catalina_context_config.png  | Bin 0 -> 89731 bytes
 5 files changed, 207 insertions(+), 3 deletions(-)
 create mode 100644 
webapps/docs/architecture/startup/6_catalina_host_config.plantuml
 create mode 100644 webapps/docs/architecture/startup/6_catalina_host_config.png
 create mode 100644 
webapps/docs/architecture/startup/7_catalina_context_config.plantuml
 create mode 100644 
webapps/docs/architecture/startup/7_catalina_context_config.png


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



(tomcat) 02/03: Remove the remaining SVGs

2024-09-10 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

commit 7002f2fe09466325b6040e82e39a7aed539c7ed4
Author: Mark Thomas 
AuthorDate: Tue Sep 10 13:56:52 2024 +0100

Remove the remaining SVGs
---
 .../architecture/startup/5_catalina_start_3.svg| 394 ---
 .../architecture/startup/6_catalina_start_4.svg| 723 -
 2 files changed, 1117 deletions(-)

diff --git a/webapps/docs/architecture/startup/5_catalina_start_3.svg 
b/webapps/docs/architecture/startup/5_catalina_start_3.svg
deleted file mode 100644
index d61fbc9b15..00
--- a/webapps/docs/architecture/startup/5_catalina_start_3.svg
+++ /dev/null
@@ -1,394 +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="773" stroke-miterlimit="10" 
shape-rendering="auto" stroke-opacity="0" fill="rgb(0,0,0)" 
stroke-dasharray="none" font-weight="normal" stroke-width="1" height="630" 
xmlns="http://www.w3.org/2000/svg"; font-family="'Dialog'" font-style="normal" 
stroke-linejoin="miter" font-size="12px" stroke-dashoffset="0"  [...]
->SetNextRuleSetPropertiesRuleStandardContextValveStandardPipelineStandardContextRuleDigesterend()//Using BeanUtil, set the object properties (from ex: admin.xml)new()setBasic(StandardContextValve)begin()newInstance()begin()startElement()parse
diff --git a/webapps/docs/architecture/startup/6_catalina_start_4.svg 
b/webapps/docs/architecture/startup/6_catalina_start_4.svg
deleted file mode 100644
index 3595e8f2de..00
--- a/webapps/docs/architecture/startup/6_catalina_start_4.svg
+++ /dev/null
@@ -1,723 +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="752" stroke-miterlimit="10" 
shape-rendering="auto" stroke-opacity="0" fill="rgb(0,0,0)" 
stroke-dasharray="none" font-weight="normal" stroke-width="1" height="891" 
xmlns="http://www.w3.org/2000/svg"; font-family="'Dialog'" font-style="normal" 
stroke-linejoin="miter" font-size="12px" stroke-dashoffset="0"  [...]
->StandardWrapperContextConfigStandardManagerWebappLoaderStandardContextStandardHostStandardHostDeployerDigesteraddContainerListener()addLifecycleListener()addInstanceListener()newcreateWrapper() // Invoked by a WebWrapperRule (not Directly by the 
Digester)// Process web.xml * tld.xmlcreate()start()applicationConfig()defaultConfig()start()// Notify interested LifecycleListenersfireLifecycleEvent(START_EVENT)setManagernewsetLoadernewstart()addChildaddChildstartElement()parse


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



(tomcat) 01/02: Add diagram 6 - deployment of applications by HostConfig

2024-09-10 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

commit 1ede487a54faaebb45a222b6d0d1b22bbf42192c
Author: Mark Thomas 
AuthorDate: Tue Sep 10 13:55:03 2024 +0100

Add diagram 6 - deployment of applications by HostConfig
---
 webapps/docs/architecture/startup.xml  |   5 +-
 .../startup/6_catalina_host_config.plantuml|  90 +
 .../startup/6_catalina_host_config.png | Bin 0 -> 65519 bytes
 3 files changed, 93 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index 28fec45bf2..c96eab6632 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -96,8 +96,9 @@ Clusters, Realms and Valves.
 for Context elements as it is rather more involved that the other Containers.
 
 
-Diagram 6 will show HostConfig.
-
+Diagram 5 shows how the
+HostConfig component responds to lifecycle events triggered by the Host to
+deploy web applications to the Host.
 
 Diagram 7 will show ContextConfig.
 
diff --git a/webapps/docs/architecture/startup/6_catalina_host_config.plantuml 
b/webapps/docs/architecture/startup/6_catalina_host_config.plantuml
new file mode 100644
index 00..7cd77e9b2c
--- /dev/null
+++ b/webapps/docs/architecture/startup/6_catalina_host_config.plantuml
@@ -0,0 +1,90 @@
+@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 Host
+
+== BEFORE_START_EVENT ==
+
+Host -> HostConfig ++:lifecycleEvent(BEFORE_START_EVENT)
+
+HostConfig -> HostConfig  ++: beforeStart()
+return
+
+return
+
+== START_EVENT ==
+
+Host -> HostConfig ++:lifecycleEvent(START_EVENT)
+
+HostConfig -> HostConfig ++: start()
+
+HostConfig -> HostConfig ++: deployApps()
+
+|||
+HostConfig -> HostConfig ++: migrateLegacyApps()
+return
+
+|||
+HostConfig -> HostConfig ++: deployDescriptors()
+return
+
+|||
+HostConfig -> HostConfig ++: deployWARs()
+return
+
+|||
+HostConfig -> HostConfig ++: deployDirectories()
+return
+
+return
+
+return
+
+return
+
+== PERIODIC_EVENT ==
+
+Host -> HostConfig ++:lifecycleEvent(PERIODIC_EVENT)
+
+HostConfig -> HostConfig  ++: check()
+
+group Each DeployedApplication is called sequentially
+HostConfig -> DeployedApplication ++: checkResources()
+note right
+Triggers reloading, redeployment
+or undeployment as appropriate
+depending on which resources have
+been added, removed and/or changed.
+end note
+return
+end group
+
+HostConfig -> HostConfig ++: deployApps()
+note right
+See START_EVENT for an expansion
+of the deployApps() call.
+end note
+return
+
+return
+
+return
+
+@enduml
\ No newline at end of file
diff --git a/webapps/docs/architecture/startup/6_catalina_host_config.png 
b/webapps/docs/architecture/startup/6_catalina_host_config.png
new file mode 100644
index 00..5f75867dc1
Binary files /dev/null and 
b/webapps/docs/architecture/startup/6_catalina_host_config.png differ


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



(tomcat) branch main updated (8dccf2924b -> b8f985fc0a)

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

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


from 8dccf2924b Remove secret init-param default value
 new 230bec9e4e Add diagram 6 - deployment of applications by HostConfig
 new ba1ffab613 Remove the remaining SVGs
 new b8f985fc0a Add diagram 7 that shows Context configuration process

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


Summary of changes:
 webapps/docs/architecture/startup.xml  |  11 +-
 .../architecture/startup/5_catalina_start_3.svg| 394 ---
 .../startup/6_catalina_host_config.plantuml|  90 +++
 .../startup/6_catalina_host_config.png | Bin 0 -> 65519 bytes
 .../architecture/startup/6_catalina_start_4.svg| 723 -
 .../startup/7_catalina_context_config.plantuml | 109 
 .../startup/7_catalina_context_config.png  | Bin 0 -> 89731 bytes
 7 files changed, 207 insertions(+), 1120 deletions(-)
 delete mode 100644 webapps/docs/architecture/startup/5_catalina_start_3.svg
 create mode 100644 
webapps/docs/architecture/startup/6_catalina_host_config.plantuml
 create mode 100644 webapps/docs/architecture/startup/6_catalina_host_config.png
 delete mode 100644 webapps/docs/architecture/startup/6_catalina_start_4.svg
 create mode 100644 
webapps/docs/architecture/startup/7_catalina_context_config.plantuml
 create mode 100644 
webapps/docs/architecture/startup/7_catalina_context_config.png


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



(tomcat) 03/03: Add diagram 7 that shows Context configuration process

2024-09-10 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

commit 635e169a8911c8c8bd1a431483684bbc5739c54d
Author: Mark Thomas 
AuthorDate: Tue Sep 10 17:02:36 2024 +0100

Add diagram 7 that shows Context configuration process
---
 webapps/docs/architecture/startup.xml  |   8 +-
 .../startup/7_catalina_context_config.plantuml | 109 +
 .../startup/7_catalina_context_config.png  | Bin 0 -> 89731 bytes
 3 files changed, 115 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index c96eab6632..c95e10495b 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -96,11 +96,15 @@ Clusters, Realms and Valves.
 for Context elements as it is rather more involved that the other Containers.
 
 
-Diagram 5 shows how the
+Diagram 6 shows how the
 HostConfig component responds to lifecycle events triggered by the Host to
 deploy web applications to the Host.
 
-Diagram 7 will show ContextConfig.
+Diagram 7 shows how the
+ContextConfig component responds to lifecycle events triggered by the Context 
to
+parse the global and application provided configuration files to create a 
merged
+web.xml file that is then used, along with other settings, to configure the web
+application.
 
 
 
diff --git 
a/webapps/docs/architecture/startup/7_catalina_context_config.plantuml 
b/webapps/docs/architecture/startup/7_catalina_context_config.plantuml
new file mode 100644
index 00..98a70cb5cd
--- /dev/null
+++ b/webapps/docs/architecture/startup/7_catalina_context_config.plantuml
@@ -0,0 +1,109 @@
+@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 Context
+
+== BEFORE_START_EVENT ==
+
+Context -> ContextConfig ++:lifecycleEvent(BEFORE_START_EVENT)
+
+ContextConfig -> ContextConfig ++: beforeStart()
+
+ContextConfig -> ContextConfig: fixDocBase()
+
+ContextConfig -> ContextConfig: antiLocking()
+
+return
+
+return
+
+== CONFIGURE_START_EVENT ==
+
+Context -> ContextConfig ++:lifecycleEvent(CONFIGURE_START_EVENT)
+
+ContextConfig -> ContextConfig ++: configureStart()
+
+ContextConfig -> ContextConfig ++: webConfig()
+
+ContextConfig --> WebXmlParser **
+
+ContextConfig -> ContextConfig ++: getDefaultWebXmlFragment()
+
+ContextConfig -> WebXmlParser ++: parseWebXml(defaultWebXml)
+return
+
+return
+
+ContextConfig -> ContextConfig ++: getTomcatWebXmlFragment()
+
+ContextConfig -> WebXmlParser ++: parseWebXml(tomcatWebXml)
+return
+
+return
+
+ContextConfig --> WebXml **
+
+ContextConfig -> WebXmlParser ++: parseWebXml(contextWebXml)
+WebXmlParser -> WebXml ++
+return
+return
+
+ContextConfig -> ContextConfig: processJarsForWebFragments()
+ContextConfig -> ContextConfig: processServletContainerInitializers()
+ContextConfig -> ContextConfig: processClasses()
+
+ContextConfig -> WebXml ++: merge(orderedFragments)
+return
+
+ContextConfig -> WebXml ++: merge(tomcatWebXml)
+return
+
+ContextConfig -> WebXml ++: merge(defaultWebXml)
+return
+
+ContextConfig -> ContextConfig: convertJsps()
+ContextConfig -> ContextConfig: configureContext()
+ContextConfig -> ContextConfig: processResourceJARs()
+
+return
+
+|||
+ContextConfig -> ContextConfig: applicationAnnotationsConfig()
+
+ContextConfig -> ContextConfig: validateSecurityRoles()
+
+ContextConfig -> ContextConfig: authenticatorConfig()
+
+return
+destroy WebXmlParser
+destroy WebXml
+
+return
+
+== AFTER_START_EVENT ==
+
+Context -> ContextConfig ++:lifecycleEvent(AFTER_START_EVENT)
+
+ContextConfig -> Context ++:setDocBase(originalDocBase)
+return
+
+return
+
+@enduml
\ No newline at end of file
diff --git a/webapps/docs/architecture/startup/7_catalina_context_config.png 
b/webapps/docs/architecture/startup/7_catalina_context_config.png
new file mode 100644
index 00..e8c6c48f0f
Binary files /dev/null and 
b/webapps/docs/architectur

(tomcat) 01/03: Replace diagram 4 - Container start process

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

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

commit 3f913ff16c1fe4201cf46d3a2b5cba61a539670f
Author: Mark Thomas 
AuthorDate: Tue Sep 10 10:40:10 2024 +0100

Replace diagram 4 - Container start process
---
 webapps/docs/architecture/startup.xml  |  13 ++-
 .../startup/4_catalina_start_2.plantuml| 103 +
 .../architecture/startup/4_catalina_start_2.png| Bin 0 -> 145242 bytes
 3 files changed, 114 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index 10d423ec3b..25b8cbcf5b 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -83,14 +83,23 @@ associated with a single Protocol instance and a single 
CoyoteAdapter instance.
 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.
+the starting of the Engine (and other Containers) which is shown in the
+following diagram.
 
 
-Diagram 4 will show how the Host initialises the Context(s).
+Diagram 4 shows how Containers
+(Engines, Hosts, Contexts and Wrappers) start along with any supporting
+Clusters, Realms and Valves.
 
 
 Diagram 5 will show how the Context initialises the Filters, Servlets etc.
 
+
+Diagram 6 will show HostConfig.
+
+
+Diagram 7 will show ContextConfig.
+
 
 
 
diff --git a/webapps/docs/architecture/startup/4_catalina_start_2.plantuml 
b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
new file mode 100644
index 00..0f16fd6cb4
--- /dev/null
+++ b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
@@ -0,0 +1,103 @@
+@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 Container
+
+Container -> Container: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Container -> Container ++: startInternal()
+
+Container -> Cluster ++: start()
+Cluster -> Cluster: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Cluster -> Cluster ++: startInternal()
+Cluster -> Cluster: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Cluster -> Cluster: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Container -> Realm ++: start()
+Realm -> Realm: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Realm -> Realm ++: startInternal()
+Realm -> Realm: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Realm -> Realm: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+group Children started in parallel if startStopThreads > 1 (Engines and Hosts 
only)
+Container -> Child ++: start()
+note right of Child
+Engines have Hosts as children.
+Hosts have Contexts as children.
+Contexts have Wrappers as children.
+
+Children are containers so the
+process on this diagram is
+repeated for each child.
+
+Contexts do a lot more in start()
+as shown in diagram 5.
+end note
+return
+end group
+
+Container -> Pipeline ++: start()
+Pipeline -> Pipeline: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Pipeline -> Pipeline ++: startInternal()
+
+group Each Valve is started sequentially
+Pipeline -> Valve ++: start()
+Valve -> Valve: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Valve -> Valve ++: startInternal()
+Valve -> Valve: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Valve -> Valve: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+end group
+
+Pipeline -> Pipeline: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Pipeline -> Pipeline: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Container -> Container: fireLifecycleEvent(\nSTART_EVENT)
+
+group If backgroundProcessorDelay > 0 (Engine defaults to 10, other Containers 
-1) 
+Container -> UtilityExecutor ++: scheduleWithFixedDelay()
+UtilityExecutor -> ContainerBackgroundProcessor **
+note right of Contai

(tomcat) 02/03: Fix message type for creation

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

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

commit 08cfdf1fad0932111386c07b6c2d62dfa58be79d
Author: Mark Thomas 
AuthorDate: Tue Sep 10 11:24:13 2024 +0100

Fix message type for creation
---
 .../startup/4_catalina_start_2.plantuml|   2 +-
 .../architecture/startup/4_catalina_start_2.png| Bin 145242 -> 145252 bytes
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/webapps/docs/architecture/startup/4_catalina_start_2.plantuml 
b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
index 0f16fd6cb4..9c02c4de6e 100644
--- a/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
+++ b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
@@ -84,7 +84,7 @@ Container -> Container: fireLifecycleEvent(\nSTART_EVENT)
 
 group If backgroundProcessorDelay > 0 (Engine defaults to 10, other Containers 
-1) 
 Container -> UtilityExecutor ++: scheduleWithFixedDelay()
-UtilityExecutor -> ContainerBackgroundProcessor **
+UtilityExecutor --> ContainerBackgroundProcessor **
 note right of ContainerBackgroundProcessor
 Re-created
 automatically
diff --git a/webapps/docs/architecture/startup/4_catalina_start_2.png 
b/webapps/docs/architecture/startup/4_catalina_start_2.png
index 71af65b961..b417126970 100644
Binary files a/webapps/docs/architecture/startup/4_catalina_start_2.png and 
b/webapps/docs/architecture/startup/4_catalina_start_2.png differ


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



(tomcat) 01/03: Replace diagram 4 - Container start process

2024-09-10 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

commit 4b856002ba7fafb3d7bbe87ebf5c3c4dfeeebf93
Author: Mark Thomas 
AuthorDate: Tue Sep 10 10:40:10 2024 +0100

Replace diagram 4 - Container start process
---
 webapps/docs/architecture/startup.xml  |  13 ++-
 .../startup/4_catalina_start_2.plantuml| 103 +
 .../architecture/startup/4_catalina_start_2.png| Bin 0 -> 145242 bytes
 3 files changed, 114 insertions(+), 2 deletions(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index 10d423ec3b..25b8cbcf5b 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -83,14 +83,23 @@ associated with a single Protocol instance and a single 
CoyoteAdapter instance.
 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.
+the starting of the Engine (and other Containers) which is shown in the
+following diagram.
 
 
-Diagram 4 will show how the Host initialises the Context(s).
+Diagram 4 shows how Containers
+(Engines, Hosts, Contexts and Wrappers) start along with any supporting
+Clusters, Realms and Valves.
 
 
 Diagram 5 will show how the Context initialises the Filters, Servlets etc.
 
+
+Diagram 6 will show HostConfig.
+
+
+Diagram 7 will show ContextConfig.
+
 
 
 
diff --git a/webapps/docs/architecture/startup/4_catalina_start_2.plantuml 
b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
new file mode 100644
index 00..0f16fd6cb4
--- /dev/null
+++ b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
@@ -0,0 +1,103 @@
+@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 Container
+
+Container -> Container: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Container -> Container ++: startInternal()
+
+Container -> Cluster ++: start()
+Cluster -> Cluster: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Cluster -> Cluster ++: startInternal()
+Cluster -> Cluster: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Cluster -> Cluster: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Container -> Realm ++: start()
+Realm -> Realm: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Realm -> Realm ++: startInternal()
+Realm -> Realm: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Realm -> Realm: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+group Children started in parallel if startStopThreads > 1 (Engines and Hosts 
only)
+Container -> Child ++: start()
+note right of Child
+Engines have Hosts as children.
+Hosts have Contexts as children.
+Contexts have Wrappers as children.
+
+Children are containers so the
+process on this diagram is
+repeated for each child.
+
+Contexts do a lot more in start()
+as shown in diagram 5.
+end note
+return
+end group
+
+Container -> Pipeline ++: start()
+Pipeline -> Pipeline: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Pipeline -> Pipeline ++: startInternal()
+
+group Each Valve is started sequentially
+Pipeline -> Valve ++: start()
+Valve -> Valve: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Valve -> Valve ++: startInternal()
+Valve -> Valve: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Valve -> Valve: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+end group
+
+Pipeline -> Pipeline: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Pipeline -> Pipeline: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Container -> Container: fireLifecycleEvent(\nSTART_EVENT)
+
+group If backgroundProcessorDelay > 0 (Engine defaults to 10, other Containers 
-1) 
+Container -> UtilityExecutor ++: scheduleWithFixedDelay()
+UtilityExecutor -> ContainerBackgroundProcessor **
+note right of Contai

(tomcat) 02/03: Fix message type for creation

2024-09-10 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

commit 318d53e3a40cdc14e68b4cf85c9f9b05500296b0
Author: Mark Thomas 
AuthorDate: Tue Sep 10 11:24:13 2024 +0100

Fix message type for creation
---
 .../startup/4_catalina_start_2.plantuml|   2 +-
 .../architecture/startup/4_catalina_start_2.png| Bin 145242 -> 145252 bytes
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/webapps/docs/architecture/startup/4_catalina_start_2.plantuml 
b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
index 0f16fd6cb4..9c02c4de6e 100644
--- a/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
+++ b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
@@ -84,7 +84,7 @@ Container -> Container: fireLifecycleEvent(\nSTART_EVENT)
 
 group If backgroundProcessorDelay > 0 (Engine defaults to 10, other Containers 
-1) 
 Container -> UtilityExecutor ++: scheduleWithFixedDelay()
-UtilityExecutor -> ContainerBackgroundProcessor **
+UtilityExecutor --> ContainerBackgroundProcessor **
 note right of ContainerBackgroundProcessor
 Re-created
 automatically
diff --git a/webapps/docs/architecture/startup/4_catalina_start_2.png 
b/webapps/docs/architecture/startup/4_catalina_start_2.png
index 71af65b961..b417126970 100644
Binary files a/webapps/docs/architecture/startup/4_catalina_start_2.png and 
b/webapps/docs/architecture/startup/4_catalina_start_2.png differ


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



(tomcat) 03/03: Add diagram showing Context start process

2024-09-10 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

commit 89fe0e56affeaedfc746793736042e0ab6bc0298
Author: Mark Thomas 
AuthorDate: Tue Sep 10 11:26:32 2024 +0100

Add diagram showing Context start process
---
 webapps/docs/architecture/startup.xml  |   3 +-
 .../startup/5_catalina_start_3.plantuml| 140 +
 .../architecture/startup/5_catalina_start_3.png| Bin 0 -> 266057 bytes
 3 files changed, 142 insertions(+), 1 deletion(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index 25b8cbcf5b..28fec45bf2 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -92,7 +92,8 @@ following diagram.
 Clusters, Realms and Valves.
 
 
-Diagram 5 will show how the Context initialises the Filters, Servlets etc.
+Diagram 5 shows the start process
+for Context elements as it is rather more involved that the other Containers.
 
 
 Diagram 6 will show HostConfig.
diff --git a/webapps/docs/architecture/startup/5_catalina_start_3.plantuml 
b/webapps/docs/architecture/startup/5_catalina_start_3.plantuml
new file mode 100644
index 00..7f5bd49dae
--- /dev/null
+++ b/webapps/docs/architecture/startup/5_catalina_start_3.plantuml
@@ -0,0 +1,140 @@
+@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 Host
+
+Host -> Context ++: start()
+
+Context -> Context: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Context -> Context ++: startInternal()
+
+Context -> NamingResourcesImpl ++: start()
+NamingResourcesImpl -> NamingResourcesImpl: fireLifecycleEvent(\n
BEFORE_START_EVENT)
+NamingResourcesImpl -> NamingResourcesImpl ++: startInternal()
+NamingResourcesImpl -> NamingResourcesImpl: fireLifecycleEvent(\n
START_EVENT)
+return
+|||
+NamingResourcesImpl -> NamingResourcesImpl: fireLifecycleEvent(\n
AFTER_START_EVENT)
+return
+
+Context -> Context: postWorkDirectory()
+
+Context --> StandardRoot **
+
+Context -> StandardRoot ++: start()
+StandardRoot -> StandardRoot: fireLifecycleEvent(\nBEFORE_START_EVENT)
+StandardRoot -> StandardRoot ++: startInternal()
+StandardRoot -> StandardRoot: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+StandardRoot -> StandardRoot: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Context --> WebappLoader **
+Context --> CookieProcessor **
+Context --> CharsetMapper **
+
+Context --> WebappLoader ++: start()
+WebappLoader -> WebappLoader: fireLifecycleEvent(\nBEFORE_START_EVENT)
+WebappLoader -> WebappLoader ++: startInternal()
+WebappLoader -> WebappLoader: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+WebappLoader -> WebappLoader: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Context -> Realm ++: start()
+Realm -> Realm: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Realm -> Realm ++: startInternal()
+Realm -> Realm: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Realm -> Realm: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Context -> Context: fireLifecycleEvent(\nCONFIGURE_START_EVENT)
+
+group Each Wrapper is started sequentially
+Context -> Wrapper ++: start()
+Wrapper -> Wrapper: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Wrapper -> Wrapper ++: startInternal()
+Wrapper -> Wrapper: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Wrapper -> Wrapper: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+end group
+
+Context -> Pipeline ++: start()
+Pipeline -> Pipeline: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Pipeline -> Pipeline ++: startInternal()
+
+group Each Valve is started sequentially
+Pipeline -> Valve ++: start()
+Valve -> Valve: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Valve -> Valve ++: startInternal()
+Valve -> Valve: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Valve -> Valve: fireLifecycleEvent(\nAFTER_START_EVENT)
+

(tomcat) branch 10.1.x updated (5040614bad -> 89fe0e56af)

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

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


from 5040614bad Add note that more detail for Hosts etc will be in diagram 4
 new 4b856002ba Replace diagram 4 - Container start process
 new 318d53e3a4 Fix message type for creation
 new 89fe0e56af Add diagram showing Context start process

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


Summary of changes:
 webapps/docs/architecture/startup.xml  |  16 ++-
 .../startup/4_catalina_start_2.plantuml| 103 +++
 .../architecture/startup/4_catalina_start_2.png| Bin 0 -> 145252 bytes
 .../startup/5_catalina_start_3.plantuml| 140 +
 .../architecture/startup/5_catalina_start_3.png| Bin 0 -> 266057 bytes
 5 files changed, 256 insertions(+), 3 deletions(-)
 create mode 100644 
webapps/docs/architecture/startup/4_catalina_start_2.plantuml
 create mode 100644 webapps/docs/architecture/startup/4_catalina_start_2.png
 create mode 100644 
webapps/docs/architecture/startup/5_catalina_start_3.plantuml
 create mode 100644 webapps/docs/architecture/startup/5_catalina_start_3.png


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



(tomcat) 03/03: Add diagram showing Context start process

2024-09-10 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

commit 49e35f25744ef97e2b7fd9a4c225cb25857a4894
Author: Mark Thomas 
AuthorDate: Tue Sep 10 11:26:32 2024 +0100

Add diagram showing Context start process
---
 webapps/docs/architecture/startup.xml  |   3 +-
 .../startup/5_catalina_start_3.plantuml| 140 +
 .../architecture/startup/5_catalina_start_3.png| Bin 0 -> 266057 bytes
 3 files changed, 142 insertions(+), 1 deletion(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index 25b8cbcf5b..28fec45bf2 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -92,7 +92,8 @@ following diagram.
 Clusters, Realms and Valves.
 
 
-Diagram 5 will show how the Context initialises the Filters, Servlets etc.
+Diagram 5 shows the start process
+for Context elements as it is rather more involved that the other Containers.
 
 
 Diagram 6 will show HostConfig.
diff --git a/webapps/docs/architecture/startup/5_catalina_start_3.plantuml 
b/webapps/docs/architecture/startup/5_catalina_start_3.plantuml
new file mode 100644
index 00..7f5bd49dae
--- /dev/null
+++ b/webapps/docs/architecture/startup/5_catalina_start_3.plantuml
@@ -0,0 +1,140 @@
+@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 Host
+
+Host -> Context ++: start()
+
+Context -> Context: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Context -> Context ++: startInternal()
+
+Context -> NamingResourcesImpl ++: start()
+NamingResourcesImpl -> NamingResourcesImpl: fireLifecycleEvent(\n
BEFORE_START_EVENT)
+NamingResourcesImpl -> NamingResourcesImpl ++: startInternal()
+NamingResourcesImpl -> NamingResourcesImpl: fireLifecycleEvent(\n
START_EVENT)
+return
+|||
+NamingResourcesImpl -> NamingResourcesImpl: fireLifecycleEvent(\n
AFTER_START_EVENT)
+return
+
+Context -> Context: postWorkDirectory()
+
+Context --> StandardRoot **
+
+Context -> StandardRoot ++: start()
+StandardRoot -> StandardRoot: fireLifecycleEvent(\nBEFORE_START_EVENT)
+StandardRoot -> StandardRoot ++: startInternal()
+StandardRoot -> StandardRoot: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+StandardRoot -> StandardRoot: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Context --> WebappLoader **
+Context --> CookieProcessor **
+Context --> CharsetMapper **
+
+Context --> WebappLoader ++: start()
+WebappLoader -> WebappLoader: fireLifecycleEvent(\nBEFORE_START_EVENT)
+WebappLoader -> WebappLoader ++: startInternal()
+WebappLoader -> WebappLoader: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+WebappLoader -> WebappLoader: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Context -> Realm ++: start()
+Realm -> Realm: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Realm -> Realm ++: startInternal()
+Realm -> Realm: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Realm -> Realm: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Context -> Context: fireLifecycleEvent(\nCONFIGURE_START_EVENT)
+
+group Each Wrapper is started sequentially
+Context -> Wrapper ++: start()
+Wrapper -> Wrapper: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Wrapper -> Wrapper ++: startInternal()
+Wrapper -> Wrapper: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Wrapper -> Wrapper: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+end group
+
+Context -> Pipeline ++: start()
+Pipeline -> Pipeline: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Pipeline -> Pipeline ++: startInternal()
+
+group Each Valve is started sequentially
+Pipeline -> Valve ++: start()
+Valve -> Valve: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Valve -> Valve ++: startInternal()
+Valve -> Valve: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Valve -> Valve: fireLifecycleEvent(\nAFTER_START_EVENT)
+

(tomcat) branch main updated (9399733f90 -> ab47864f2f)

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

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


from 9399733f90 Replace diagram 4 - Container start process
 new b48656d914 Fix message type for creation
 new ab47864f2f Add diagram showing Context start process

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


Summary of changes:
 webapps/docs/architecture/startup.xml  |   3 +-
 .../startup/4_catalina_start_2.plantuml|   2 +-
 .../architecture/startup/4_catalina_start_2.png| Bin 145242 -> 145252 bytes
 .../startup/5_catalina_start_3.plantuml| 140 +
 .../architecture/startup/5_catalina_start_3.png| Bin 0 -> 266057 bytes
 5 files changed, 143 insertions(+), 2 deletions(-)
 create mode 100644 
webapps/docs/architecture/startup/5_catalina_start_3.plantuml
 create mode 100644 webapps/docs/architecture/startup/5_catalina_start_3.png


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



(tomcat) 01/02: Fix message type for creation

2024-09-10 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

commit b48656d9146c691a66f3c05411f63a5deb3b290c
Author: Mark Thomas 
AuthorDate: Tue Sep 10 11:24:13 2024 +0100

Fix message type for creation
---
 .../startup/4_catalina_start_2.plantuml|   2 +-
 .../architecture/startup/4_catalina_start_2.png| Bin 145242 -> 145252 bytes
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/webapps/docs/architecture/startup/4_catalina_start_2.plantuml 
b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
index 0f16fd6cb4..9c02c4de6e 100644
--- a/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
+++ b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
@@ -84,7 +84,7 @@ Container -> Container: fireLifecycleEvent(\nSTART_EVENT)
 
 group If backgroundProcessorDelay > 0 (Engine defaults to 10, other Containers 
-1) 
 Container -> UtilityExecutor ++: scheduleWithFixedDelay()
-UtilityExecutor -> ContainerBackgroundProcessor **
+UtilityExecutor --> ContainerBackgroundProcessor **
 note right of ContainerBackgroundProcessor
 Re-created
 automatically
diff --git a/webapps/docs/architecture/startup/4_catalina_start_2.png 
b/webapps/docs/architecture/startup/4_catalina_start_2.png
index 71af65b961..b417126970 100644
Binary files a/webapps/docs/architecture/startup/4_catalina_start_2.png and 
b/webapps/docs/architecture/startup/4_catalina_start_2.png differ


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



(tomcat) 02/02: Add diagram showing Context start process

2024-09-10 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

commit ab47864f2feff6c8c37b0ac5b6e762883a515f01
Author: Mark Thomas 
AuthorDate: Tue Sep 10 11:26:32 2024 +0100

Add diagram showing Context start process
---
 webapps/docs/architecture/startup.xml  |   3 +-
 .../startup/5_catalina_start_3.plantuml| 140 +
 .../architecture/startup/5_catalina_start_3.png| Bin 0 -> 266057 bytes
 3 files changed, 142 insertions(+), 1 deletion(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index 0a616c5dbd..31652b7c4f 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -92,7 +92,8 @@ following diagram.
 Clusters, Realms and Valves.
 
 
-Diagram 5 will show how the Context initialises the Filters, Servlets etc.
+Diagram 5 shows the start process
+for Context elements as it is rather more involved that the other Containers.
 
 
 Diagram 6 will show HostConfig.
diff --git a/webapps/docs/architecture/startup/5_catalina_start_3.plantuml 
b/webapps/docs/architecture/startup/5_catalina_start_3.plantuml
new file mode 100644
index 00..7f5bd49dae
--- /dev/null
+++ b/webapps/docs/architecture/startup/5_catalina_start_3.plantuml
@@ -0,0 +1,140 @@
+@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 Host
+
+Host -> Context ++: start()
+
+Context -> Context: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Context -> Context ++: startInternal()
+
+Context -> NamingResourcesImpl ++: start()
+NamingResourcesImpl -> NamingResourcesImpl: fireLifecycleEvent(\n
BEFORE_START_EVENT)
+NamingResourcesImpl -> NamingResourcesImpl ++: startInternal()
+NamingResourcesImpl -> NamingResourcesImpl: fireLifecycleEvent(\n
START_EVENT)
+return
+|||
+NamingResourcesImpl -> NamingResourcesImpl: fireLifecycleEvent(\n
AFTER_START_EVENT)
+return
+
+Context -> Context: postWorkDirectory()
+
+Context --> StandardRoot **
+
+Context -> StandardRoot ++: start()
+StandardRoot -> StandardRoot: fireLifecycleEvent(\nBEFORE_START_EVENT)
+StandardRoot -> StandardRoot ++: startInternal()
+StandardRoot -> StandardRoot: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+StandardRoot -> StandardRoot: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Context --> WebappLoader **
+Context --> CookieProcessor **
+Context --> CharsetMapper **
+
+Context --> WebappLoader ++: start()
+WebappLoader -> WebappLoader: fireLifecycleEvent(\nBEFORE_START_EVENT)
+WebappLoader -> WebappLoader ++: startInternal()
+WebappLoader -> WebappLoader: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+WebappLoader -> WebappLoader: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Context -> Realm ++: start()
+Realm -> Realm: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Realm -> Realm ++: startInternal()
+Realm -> Realm: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Realm -> Realm: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Context -> Context: fireLifecycleEvent(\nCONFIGURE_START_EVENT)
+
+group Each Wrapper is started sequentially
+Context -> Wrapper ++: start()
+Wrapper -> Wrapper: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Wrapper -> Wrapper ++: startInternal()
+Wrapper -> Wrapper: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Wrapper -> Wrapper: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+end group
+
+Context -> Pipeline ++: start()
+Pipeline -> Pipeline: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Pipeline -> Pipeline ++: startInternal()
+
+group Each Valve is started sequentially
+Pipeline -> Valve ++: start()
+Valve -> Valve: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Valve -> Valve ++: startInternal()
+Valve -> Valve: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Valve -> Valve: fireLifecycleEvent(\nAFTER_START_EVENT)
+

(tomcat) branch main updated: Replace diagram 4 - Container start process

2024-09-10 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 9399733f90 Replace diagram 4 - Container start process
9399733f90 is described below

commit 9399733f90ef51663c2b4d3d5eb85c88cdf71669
Author: Mark Thomas 
AuthorDate: Tue Sep 10 10:40:10 2024 +0100

Replace diagram 4 - Container start process
---
 webapps/docs/architecture/startup.xml  |  13 +-
 .../startup/4_catalina_start_2.plantuml| 103 
 .../architecture/startup/4_catalina_start_2.png| Bin 0 -> 145242 bytes
 .../architecture/startup/4_catalina_start_2.svg| 559 -
 4 files changed, 114 insertions(+), 561 deletions(-)

diff --git a/webapps/docs/architecture/startup.xml 
b/webapps/docs/architecture/startup.xml
index 46fa95836e..0a616c5dbd 100644
--- a/webapps/docs/architecture/startup.xml
+++ b/webapps/docs/architecture/startup.xml
@@ -83,14 +83,23 @@ associated with a single Protocol instance and a single 
CoyoteAdapter instance.
 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.
+the starting of the Engine (and other Containers) which is shown in the
+following diagram.
 
 
-Diagram 4 will show how the Host initialises the Context(s).
+Diagram 4 shows how Containers
+(Engines, Hosts, Contexts and Wrappers) start along with any supporting
+Clusters, Realms and Valves.
 
 
 Diagram 5 will show how the Context initialises the Filters, Servlets etc.
 
+
+Diagram 6 will show HostConfig.
+
+
+Diagram 7 will show ContextConfig.
+
 
 
 
diff --git a/webapps/docs/architecture/startup/4_catalina_start_2.plantuml 
b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
new file mode 100644
index 00..0f16fd6cb4
--- /dev/null
+++ b/webapps/docs/architecture/startup/4_catalina_start_2.plantuml
@@ -0,0 +1,103 @@
+@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 Container
+
+Container -> Container: fireLifecycleEvent(\nBEFORE_START_EVENT)
+
+Container -> Container ++: startInternal()
+
+Container -> Cluster ++: start()
+Cluster -> Cluster: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Cluster -> Cluster ++: startInternal()
+Cluster -> Cluster: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Cluster -> Cluster: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Container -> Realm ++: start()
+Realm -> Realm: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Realm -> Realm ++: startInternal()
+Realm -> Realm: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Realm -> Realm: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+group Children started in parallel if startStopThreads > 1 (Engines and Hosts 
only)
+Container -> Child ++: start()
+note right of Child
+Engines have Hosts as children.
+Hosts have Contexts as children.
+Contexts have Wrappers as children.
+
+Children are containers so the
+process on this diagram is
+repeated for each child.
+
+Contexts do a lot more in start()
+as shown in diagram 5.
+end note
+return
+end group
+
+Container -> Pipeline ++: start()
+Pipeline -> Pipeline: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Pipeline -> Pipeline ++: startInternal()
+
+group Each Valve is started sequentially
+Pipeline -> Valve ++: start()
+Valve -> Valve: fireLifecycleEvent(\nBEFORE_START_EVENT)
+Valve -> Valve ++: startInternal()
+Valve -> Valve: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Valve -> Valve: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+end group
+
+Pipeline -> Pipeline: fireLifecycleEvent(\nSTART_EVENT)
+return
+|||
+Pipeline -> Pipeline: fireLifecycleEvent(\nAFTER_START_EVENT)
+return
+
+Container -> Container: fireLifecycleEvent(\nSTART_EV

(tomcat) branch 10.1.x updated: Add note that more detail for Hosts etc will be in diagram 4

2024-09-09 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 5040614bad Add note that more detail for Hosts etc will be in diagram 4
5040614bad is described below

commit 5040614badc3d02000308bdea1706f0c5e39701a
Author: Mark Thomas 
AuthorDate: Mon Sep 9 17:05:06 2024 +0100

Add note that more detail for Hosts etc will be in diagram 4
---
 .../startup/3_catalina_start_1.plantuml|   2 ++
 .../architecture/startup/3_catalina_start_1.png| Bin 166720 -> 171121 bytes
 2 files changed, 2 insertions(+)

diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.plantuml 
b/webapps/docs/architecture/startup/3_catalina_start_1.plantuml
index 9140895973..95eacc1b31 100644
--- a/webapps/docs/architecture/startup/3_catalina_start_1.plantuml
+++ b/webapps/docs/architecture/startup/3_catalina_start_1.plantuml
@@ -54,6 +54,7 @@ Services -> Services: fireLifecycleEvent(\nSTART_EVENT)
 
 Services -> Engine ++: start()
 
+group More detail in diagram 4
 Engine -> Engine: fireLifecycleEvent(\nBEFORE_START_EVENT)
 
 Engine -> Engine ++: startInternal()
@@ -64,6 +65,7 @@ return
 
 |||
 Engine -> Engine: fireLifecycleEvent(\nAFTER_START_EVENT)
+end group
 
 return
 
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.png 
b/webapps/docs/architecture/startup/3_catalina_start_1.png
index 10e717112b..fe37213f98 100644
Binary files a/webapps/docs/architecture/startup/3_catalina_start_1.png and 
b/webapps/docs/architecture/startup/3_catalina_start_1.png differ


-
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 note that more detail for Hosts etc will be in diagram 4

2024-09-09 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 6eae97aa56 Add note that more detail for Hosts etc will be in diagram 4
6eae97aa56 is described below

commit 6eae97aa565cfbd9ee2be6dd42d170a95205205f
Author: Mark Thomas 
AuthorDate: Mon Sep 9 17:05:06 2024 +0100

Add note that more detail for Hosts etc will be in diagram 4
---
 .../startup/3_catalina_start_1.plantuml|   2 ++
 .../architecture/startup/3_catalina_start_1.png| Bin 166720 -> 171121 bytes
 2 files changed, 2 insertions(+)

diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.plantuml 
b/webapps/docs/architecture/startup/3_catalina_start_1.plantuml
index 9140895973..95eacc1b31 100644
--- a/webapps/docs/architecture/startup/3_catalina_start_1.plantuml
+++ b/webapps/docs/architecture/startup/3_catalina_start_1.plantuml
@@ -54,6 +54,7 @@ Services -> Services: fireLifecycleEvent(\nSTART_EVENT)
 
 Services -> Engine ++: start()
 
+group More detail in diagram 4
 Engine -> Engine: fireLifecycleEvent(\nBEFORE_START_EVENT)
 
 Engine -> Engine ++: startInternal()
@@ -64,6 +65,7 @@ return
 
 |||
 Engine -> Engine: fireLifecycleEvent(\nAFTER_START_EVENT)
+end group
 
 return
 
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.png 
b/webapps/docs/architecture/startup/3_catalina_start_1.png
index 10e717112b..fe37213f98 100644
Binary files a/webapps/docs/architecture/startup/3_catalina_start_1.png and 
b/webapps/docs/architecture/startup/3_catalina_start_1.png differ


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



(tomcat) branch main updated: Add note that more detail for Hosts etc will be in diagram 4

2024-09-09 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 47c7a40305 Add note that more detail for Hosts etc will be in diagram 4
47c7a40305 is described below

commit 47c7a4030543dbf922802815be5f977db475270c
Author: Mark Thomas 
AuthorDate: Mon Sep 9 17:05:06 2024 +0100

Add note that more detail for Hosts etc will be in diagram 4
---
 .../startup/3_catalina_start_1.plantuml|   2 ++
 .../architecture/startup/3_catalina_start_1.png| Bin 166720 -> 171121 bytes
 2 files changed, 2 insertions(+)

diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.plantuml 
b/webapps/docs/architecture/startup/3_catalina_start_1.plantuml
index 9140895973..95eacc1b31 100644
--- a/webapps/docs/architecture/startup/3_catalina_start_1.plantuml
+++ b/webapps/docs/architecture/startup/3_catalina_start_1.plantuml
@@ -54,6 +54,7 @@ Services -> Services: fireLifecycleEvent(\nSTART_EVENT)
 
 Services -> Engine ++: start()
 
+group More detail in diagram 4
 Engine -> Engine: fireLifecycleEvent(\nBEFORE_START_EVENT)
 
 Engine -> Engine ++: startInternal()
@@ -64,6 +65,7 @@ return
 
 |||
 Engine -> Engine: fireLifecycleEvent(\nAFTER_START_EVENT)
+end group
 
 return
 
diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.png 
b/webapps/docs/architecture/startup/3_catalina_start_1.png
index 10e717112b..fe37213f98 100644
Binary files a/webapps/docs/architecture/startup/3_catalina_start_1.png and 
b/webapps/docs/architecture/startup/3_catalina_start_1.png differ


-
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 a note to show where Hosts etc are initialized

2024-09-09 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 1b28679cbb Add a note to show where Hosts etc are initialized
1b28679cbb is described below

commit 1b28679cbbc46fd6c84e2f3195f78a745227dd5c
Author: Mark Thomas 
AuthorDate: Mon Sep 9 16:54:59 2024 +0100

Add a note to show where Hosts etc are initialized
---
 .../architecture/startup/2_catalina_init.plantuml  |   6 ++
 .../docs/architecture/startup/2_catalina_init.png  | Bin 118930 -> 129438 bytes
 2 files changed, 6 insertions(+)

diff --git a/webapps/docs/architecture/startup/2_catalina_init.plantuml 
b/webapps/docs/architecture/startup/2_catalina_init.plantuml
index 738dac0f69..fd6cd42fa1 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.plantuml
+++ b/webapps/docs/architecture/startup/2_catalina_init.plantuml
@@ -42,6 +42,12 @@ Services -> Services ++: initInternal()
 Services -> Engine ++: init()
 Engine -> Engine: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 Engine -> Engine: initInternal()
+note right
+The Engine initializes any nested Hosts,
+Contexts and Wrappers as well as any
+associated Valves, Loaders, Realms,
+Clusters and Managers etc.
+end note
 Engine -> Engine: fireLifecycleEvent(\nAFTER_INIT_EVENT)
 return
 
diff --git a/webapps/docs/architecture/startup/2_catalina_init.png 
b/webapps/docs/architecture/startup/2_catalina_init.png
index 260ba1b914..aa6d74d299 100644
Binary files a/webapps/docs/architecture/startup/2_catalina_init.png and 
b/webapps/docs/architecture/startup/2_catalina_init.png differ


-
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 a note to show where Hosts etc are initialized

2024-09-09 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 31c3b0d731 Add a note to show where Hosts etc are initialized
31c3b0d731 is described below

commit 31c3b0d731b172ee12c8ea40e5ae9d03eaf12317
Author: Mark Thomas 
AuthorDate: Mon Sep 9 16:54:59 2024 +0100

Add a note to show where Hosts etc are initialized
---
 .../architecture/startup/2_catalina_init.plantuml  |   6 ++
 .../docs/architecture/startup/2_catalina_init.png  | Bin 118930 -> 129438 bytes
 2 files changed, 6 insertions(+)

diff --git a/webapps/docs/architecture/startup/2_catalina_init.plantuml 
b/webapps/docs/architecture/startup/2_catalina_init.plantuml
index 738dac0f69..fd6cd42fa1 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.plantuml
+++ b/webapps/docs/architecture/startup/2_catalina_init.plantuml
@@ -42,6 +42,12 @@ Services -> Services ++: initInternal()
 Services -> Engine ++: init()
 Engine -> Engine: fireLifecycleEvent(\nBEFORE_INIT_EVENT)
 Engine -> Engine: initInternal()
+note right
+The Engine initializes any nested Hosts,
+Contexts and Wrappers as well as any
+associated Valves, Loaders, Realms,
+Clusters and Managers etc.
+end note
 Engine -> Engine: fireLifecycleEvent(\nAFTER_INIT_EVENT)
 return
 
diff --git a/webapps/docs/architecture/startup/2_catalina_init.png 
b/webapps/docs/architecture/startup/2_catalina_init.png
index 260ba1b914..aa6d74d299 100644
Binary files a/webapps/docs/architecture/startup/2_catalina_init.png and 
b/webapps/docs/architecture/startup/2_catalina_init.png differ


-
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 group boxes to show where more detail can be found

2024-09-09 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 1f84d68d3b Add group boxes to show where more detail can be found
1f84d68d3b is described below

commit 1f84d68d3b7c7aa5883425c9758ec6996c65113c
Author: Mark Thomas 
AuthorDate: Mon Sep 9 16:38:00 2024 +0100

Add group boxes to show where more detail can be found
---
 .../docs/architecture/startup/1_overview.plantuml   |   4 
 webapps/docs/architecture/startup/1_overview.png| Bin 48278 -> 54000 bytes
 2 files changed, 4 insertions(+)

diff --git a/webapps/docs/architecture/startup/1_overview.plantuml 
b/webapps/docs/architecture/startup/1_overview.plantuml
index 749d2d4a3c..967c44d231 100644
--- a/webapps/docs/architecture/startup/1_overview.plantuml
+++ b/webapps/docs/architecture/startup/1_overview.plantuml
@@ -55,16 +55,20 @@ return
 |||
 Catalina -> Catalina: initStream()
 
+group More detail in diagram 2
 Catalina -> Server ++: init()
 |||
 return
+end
 
 return
 
 |||
+group More detail in diagram 3
 Catalina -> Server ++: start()
 |||
 return
+end
 
 |||
 Catalina -> Catalina ++: await()
diff --git a/webapps/docs/architecture/startup/1_overview.png 
b/webapps/docs/architecture/startup/1_overview.png
index f014d7d9b8..2bf8b64857 100644
Binary files a/webapps/docs/architecture/startup/1_overview.png and 
b/webapps/docs/architecture/startup/1_overview.png differ


-
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 group boxes to show where more detail can be found

2024-09-09 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 3b1ab99894 Add group boxes to show where more detail can be found
3b1ab99894 is described below

commit 3b1ab99894e9a1a6db257a4b43e2f37e66a5afa7
Author: Mark Thomas 
AuthorDate: Mon Sep 9 16:38:00 2024 +0100

Add group boxes to show where more detail can be found
---
 .../docs/architecture/startup/1_overview.plantuml   |   4 
 webapps/docs/architecture/startup/1_overview.png| Bin 48278 -> 54000 bytes
 2 files changed, 4 insertions(+)

diff --git a/webapps/docs/architecture/startup/1_overview.plantuml 
b/webapps/docs/architecture/startup/1_overview.plantuml
index 749d2d4a3c..967c44d231 100644
--- a/webapps/docs/architecture/startup/1_overview.plantuml
+++ b/webapps/docs/architecture/startup/1_overview.plantuml
@@ -55,16 +55,20 @@ return
 |||
 Catalina -> Catalina: initStream()
 
+group More detail in diagram 2
 Catalina -> Server ++: init()
 |||
 return
+end
 
 return
 
 |||
+group More detail in diagram 3
 Catalina -> Server ++: start()
 |||
 return
+end
 
 |||
 Catalina -> Catalina ++: await()
diff --git a/webapps/docs/architecture/startup/1_overview.png 
b/webapps/docs/architecture/startup/1_overview.png
index f014d7d9b8..2bf8b64857 100644
Binary files a/webapps/docs/architecture/startup/1_overview.png and 
b/webapps/docs/architecture/startup/1_overview.png differ


-
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 group boxes to show where more detail can be found

2024-09-09 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 152325ab86 Add group boxes to show where more detail can be found
152325ab86 is described below

commit 152325ab8642e8951aa00a50beed9ac927f96ca6
Author: Mark Thomas 
AuthorDate: Mon Sep 9 16:38:00 2024 +0100

Add group boxes to show where more detail can be found
---
 .../docs/architecture/startup/1_overview.plantuml   |   4 
 webapps/docs/architecture/startup/1_overview.png| Bin 48278 -> 54000 bytes
 2 files changed, 4 insertions(+)

diff --git a/webapps/docs/architecture/startup/1_overview.plantuml 
b/webapps/docs/architecture/startup/1_overview.plantuml
index 749d2d4a3c..967c44d231 100644
--- a/webapps/docs/architecture/startup/1_overview.plantuml
+++ b/webapps/docs/architecture/startup/1_overview.plantuml
@@ -55,16 +55,20 @@ return
 |||
 Catalina -> Catalina: initStream()
 
+group More detail in diagram 2
 Catalina -> Server ++: init()
 |||
 return
+end
 
 return
 
 |||
+group More detail in diagram 3
 Catalina -> Server ++: start()
 |||
 return
+end
 
 |||
 Catalina -> Catalina ++: await()
diff --git a/webapps/docs/architecture/startup/1_overview.png 
b/webapps/docs/architecture/startup/1_overview.png
index f014d7d9b8..2bf8b64857 100644
Binary files a/webapps/docs/architecture/startup/1_overview.png and 
b/webapps/docs/architecture/startup/1_overview.png differ


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



(tomcat) branch main updated: Add group boxes to show where more detail can be found

2024-09-09 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 095b49 Add group boxes to show where more detail can be found
095b49 is described below

commit 095b4962b3f1bf32a7a7199878ac5130
Author: Mark Thomas 
AuthorDate: Mon Sep 9 16:38:00 2024 +0100

Add group boxes to show where more detail can be found
---
 .../docs/architecture/startup/1_overview.plantuml   |   4 
 webapps/docs/architecture/startup/1_overview.png| Bin 48278 -> 54000 bytes
 2 files changed, 4 insertions(+)

diff --git a/webapps/docs/architecture/startup/1_overview.plantuml 
b/webapps/docs/architecture/startup/1_overview.plantuml
index 749d2d4a3c..967c44d231 100644
--- a/webapps/docs/architecture/startup/1_overview.plantuml
+++ b/webapps/docs/architecture/startup/1_overview.plantuml
@@ -55,16 +55,20 @@ return
 |||
 Catalina -> Catalina: initStream()
 
+group More detail in diagram 2
 Catalina -> Server ++: init()
 |||
 return
+end
 
 return
 
 |||
+group More detail in diagram 3
 Catalina -> Server ++: start()
 |||
 return
+end
 
 |||
 Catalina -> Catalina ++: await()
diff --git a/webapps/docs/architecture/startup/1_overview.png 
b/webapps/docs/architecture/startup/1_overview.png
index f014d7d9b8..2bf8b64857 100644
Binary files a/webapps/docs/architecture/startup/1_overview.png and 
b/webapps/docs/architecture/startup/1_overview.png differ


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



(tomcat) branch main updated: Use constant

2024-09-09 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 1fb42bae8b Use constant
1fb42bae8b is described below

commit 1fb42bae8bb6e1eaf3ca494bcb98fef134ac59b0
Author: Mark Thomas 
AuthorDate: Mon Sep 9 15:50:58 2024 +0100

Use constant
---
 test/org/apache/tomcat/util/net/TestCustomSsl.java   | 2 ++
 test/org/apache/tomcat/util/net/TestSSLHostConfigCompat.java | 8 
 test/org/apache/tomcat/util/net/TesterSupport.java   | 3 ++-
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/test/org/apache/tomcat/util/net/TestCustomSsl.java 
b/test/org/apache/tomcat/util/net/TestCustomSsl.java
index fc458cf14e..f4311a9e03 100644
--- a/test/org/apache/tomcat/util/net/TestCustomSsl.java
+++ b/test/org/apache/tomcat/util/net/TestCustomSsl.java
@@ -62,6 +62,8 @@ public class TestCustomSsl extends TomcatBaseTest {
 File keystoreFile = new File(TesterSupport.LOCALHOST_RSA_JKS);
 certificate.setCertificateKeystoreFile(keystoreFile.getAbsolutePath());
 
+certificate.setCertificateKeyPassword(TesterSupport.JKS_PASS);
+
 connector.setSecure(true);
 Assert.assertTrue(connector.setProperty("SSLEnabled", "true"));
 
diff --git a/test/org/apache/tomcat/util/net/TestSSLHostConfigCompat.java 
b/test/org/apache/tomcat/util/net/TestSSLHostConfigCompat.java
index 3c185ea3fe..9d5c8ecbf8 100644
--- a/test/org/apache/tomcat/util/net/TestSSLHostConfigCompat.java
+++ b/test/org/apache/tomcat/util/net/TestSSLHostConfigCompat.java
@@ -244,7 +244,7 @@ public class TestSSLHostConfigCompat extends TomcatBaseTest 
{
 case KEYSTORE: {
 SSLHostConfigCertificate sslHostConfigCertificateRsa = new 
SSLHostConfigCertificate(sslHostConfig, Type.RSA);
 
sslHostConfigCertificateRsa.setCertificateKeystoreFile(getPath(TesterSupport.LOCALHOST_RSA_JKS));
-
sslHostConfigCertificateRsa.setCertificateKeystorePassword("changeit");
+
sslHostConfigCertificateRsa.setCertificateKeystorePassword(TesterSupport.JKS_PASS);
 sslHostConfig.addCertificate(sslHostConfigCertificateRsa);
 break;
 }
@@ -252,7 +252,7 @@ public class TestSSLHostConfigCompat extends TomcatBaseTest 
{
 SSLHostConfigCertificate sslHostConfigCertificateRsa = new 
SSLHostConfigCertificate(sslHostConfig, Type.RSA);
 
sslHostConfigCertificateRsa.setCertificateFile(getPath(TesterSupport.LOCALHOST_RSA_CERT_PEM));
 
sslHostConfigCertificateRsa.setCertificateKeyFile(getPath(TesterSupport.LOCALHOST_RSA_KEY_PEM));
-sslHostConfigCertificateRsa.setCertificateKeyPassword("changeit");
+
sslHostConfigCertificateRsa.setCertificateKeystorePassword(TesterSupport.JKS_PASS);
 sslHostConfig.addCertificate(sslHostConfigCertificateRsa);
 break;
 }
@@ -266,7 +266,7 @@ public class TestSSLHostConfigCompat extends TomcatBaseTest 
{
 case KEYSTORE: {
 SSLHostConfigCertificate sslHostConfigCertificateEc = new 
SSLHostConfigCertificate(sslHostConfig, Type.EC);
 
sslHostConfigCertificateEc.setCertificateKeystoreFile(getPath(TesterSupport.LOCALHOST_EC_JKS));
-
sslHostConfigCertificateEc.setCertificateKeystorePassword("changeit");
+
sslHostConfigCertificateEc.setCertificateKeystorePassword(TesterSupport.JKS_PASS);
 sslHostConfig.addCertificate(sslHostConfigCertificateEc);
 break;
 }
@@ -274,7 +274,7 @@ public class TestSSLHostConfigCompat extends TomcatBaseTest 
{
 SSLHostConfigCertificate sslHostConfigCertificateEc = new 
SSLHostConfigCertificate(sslHostConfig, Type.EC);
 
sslHostConfigCertificateEc.setCertificateFile(getPath(TesterSupport.LOCALHOST_EC_CERT_PEM));
 
sslHostConfigCertificateEc.setCertificateKeyFile(getPath(TesterSupport.LOCALHOST_EC_KEY_PEM));
-sslHostConfigCertificateEc.setCertificateKeyPassword("changeit");
+
sslHostConfigCertificateEc.setCertificateKeyPassword(TesterSupport.JKS_PASS);
 sslHostConfig.addCertificate(sslHostConfigCertificateEc);
 break;
 }
diff --git a/test/org/apache/tomcat/util/net/TesterSupport.java 
b/test/org/apache/tomcat/util/net/TesterSupport.java
index ca3a4cee6d..308f28acc2 100644
--- a/test/org/apache/tomcat/util/net/TesterSupport.java
+++ b/test/org/apache/tomcat/util/net/TesterSupport.java
@@ -109,6 +109,7 @@ public final class TesterSupport {
 }
 
 public static void initSsl(Tomcat tomcat) {
+// TLS material for tests uses default password
 initSsl(tomcat, LOCALHOST_RSA_JKS, null, null, null, null);
 }
 
@@ -141,7 +142,7 @@ public f

(tomcat) branch 11.0.x updated: Add release date for 11.0.0-M24

2024-09-09 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 20a30941bd Add release date for 11.0.0-M24
20a30941bd is described below

commit 20a30941bdfe5982fe06d2bc759bcbbc3b7d42a7
Author: Mark Thomas 
AuthorDate: Mon Sep 9 15:44:45 2024 +0100

Add release date for 11.0.0-M24
---
 webapps/docs/changelog.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 9135a1f8ce..aedb162a7f 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -241,7 +241,7 @@
 
   
 
-
+
   
 
   


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



svn commit: r1920530 - in /tomcat/site/trunk: docs/presentations.html xdocs/presentations.xml

2024-09-09 Thread markt
Author: markt
Date: Mon Sep  9 12:48:59 2024
New Revision: 1920530

URL: http://svn.apache.org/viewvc?rev=1920530&view=rev
Log:
Fix link

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

Modified: tomcat/site/trunk/docs/presentations.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/presentations.html?rev=1920530&r1=1920529&r2=1920530&view=diff
==
--- tomcat/site/trunk/docs/presentations.html (original)
+++ tomcat/site/trunk/docs/presentations.html Mon Sep  9 12:48:59 2024
@@ -449,7 +449,7 @@ li.targeted {
 
   
 State of the Cat - Mark Thomas,
-slides,
+slides,
 https://www.youtube.com/watch?v=gPqus5T5x-w&t=2s";>slides + 
audio
   
   

Modified: tomcat/site/trunk/xdocs/presentations.xml
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/presentations.xml?rev=1920530&r1=1920529&r2=1920530&view=diff
==
--- tomcat/site/trunk/xdocs/presentations.xml (original)
+++ tomcat/site/trunk/xdocs/presentations.xml Mon Sep  9 12:48:59 2024
@@ -457,7 +457,7 @@ li.targeted {
 
   
 State of the Cat - Mark Thomas,
-slides,
+slides,
 https://www.youtube.com/watch?v=gPqus5T5x-w&t=2s";>slides + 
audio
   
   



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



(tomcat) branch 9.0.x updated: Use https to download JDT

2024-09-09 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 a857a5b12b Use https to download JDT
a857a5b12b is described below

commit a857a5b12b5c73c01de865bede7e6dd3480c9f80
Author: Mark Thomas 
AuthorDate: Mon Sep 9 11:45:10 2024 +0100

Use https to download JDT
---
 build.properties.default | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/build.properties.default b/build.properties.default
index 69323363ed..c43ab945d5 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -165,8 +165,8 @@ 
jdt.checksum.value=ab441acf5551a7dc81c353eaccb3b3df9e89a48987294d19e39acdb83a5b6
 jdt.home=${base.path}/ecj-${jdt.version}
 jdt.jar=${jdt.home}/ecj-${jdt.version}.jar
 # The download will be moved to the archive area eventually. We are taking 
care of that in advance.
-jdt.loc.1=http://archive.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
-jdt.loc.2=http://download.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
+jdt.loc.1=https://archive.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
+jdt.loc.2=https://download.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
 
 # - Tomcat native library -
 tomcat-native.version=1.3.1


-
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: Use https to download JDT

2024-09-09 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 766633bfc5 Use https to download JDT
766633bfc5 is described below

commit 766633bfc5d907aa580c44df2c08371b7bb1f6d2
Author: Mark Thomas 
AuthorDate: Mon Sep 9 11:45:10 2024 +0100

Use https to download JDT
---
 build.properties.default | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/build.properties.default b/build.properties.default
index 633600e534..2cdd9bdd16 100644
--- a/build.properties.default
+++ b/build.properties.default
@@ -163,8 +163,8 @@ 
jdt.checksum.value=69b57e12aa7f1339fe86fdb82f8fe9a104ff4d5e887448a779059e4f0626c
 jdt.home=${base.path}/ecj-${jdt.version}
 jdt.jar=${jdt.home}/ecj-${jdt.version}.jar
 # The download will be moved to the archive area eventually. We are taking 
care of that in advance.
-jdt.loc.1=http://archive.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
-jdt.loc.2=http://download.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
+jdt.loc.1=https://archive.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
+jdt.loc.2=https://download.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
 
 # - Tomcat native library -
 tomcat-native.version=2.0.8


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



  1   2   3   4   5   6   7   8   9   10   >