svn commit: r1920804 - in /tomcat/site/trunk: docs/security-model.html docs/security.html xdocs/security-model.xml xdocs/security.xml
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
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
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
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
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
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
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
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
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
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
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)
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)
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
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
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
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
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)
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
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
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)
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
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
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
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
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
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.
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.
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.
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.
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
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
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
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
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
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
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
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/
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
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/
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/
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
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
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/
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
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)
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
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
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
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
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
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
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
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
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
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
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
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)
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)
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
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
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
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
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
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/
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
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/
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)
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
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
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)
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
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
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)
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
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
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
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
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
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
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)
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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