Re: [PR] Bump org.apache.tomcat:tomcat-catalina from 10.1.15 to 10.1.16 in /modules/owb [tomcat]
markt-asf closed pull request #680: Bump org.apache.tomcat:tomcat-catalina from 10.1.15 to 10.1.16 in /modules/owb URL: https://github.com/apache/tomcat/pull/680 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [PR] Bump org.apache.tomcat:tomcat-catalina from 10.1.15 to 10.1.16 in /modules/owb [tomcat]
markt-asf commented on PR #680: URL: https://github.com/apache/tomcat/pull/680#issuecomment-1893441250 Out of date -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [PR] Bump org.apache.tomcat:tomcat-catalina from 10.1.15 to 10.1.16 in /modules/owb [tomcat]
dependabot[bot] commented on PR #680: URL: https://github.com/apache/tomcat/pull/680#issuecomment-1893441318 OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting `@dependabot ignore this major version` or `@dependabot ignore this minor version`. If you change your mind, just re-open this PR and I'll resolve any conflicts on it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch dependabot/maven/modules/owb/org.apache.tomcat-tomcat-catalina-10.1.16 deleted (was 2018553584)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/maven/modules/owb/org.apache.tomcat-tomcat-catalina-10.1.16 in repository https://gitbox.apache.org/repos/asf/tomcat.git was 2018553584 Bump org.apache.tomcat:tomcat-catalina in /modules/owb 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) branch main updated: Fix formatting
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 50c8d32957 Fix formatting 50c8d32957 is described below commit 50c8d32957eeebf6632b4b5282e9222c85189996 Author: Mark Thomas AuthorDate: Tue Jan 16 10:15:21 2024 + Fix formatting --- java/org/apache/tomcat/websocket/WsFrameBase.java | 46 +++ 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/java/org/apache/tomcat/websocket/WsFrameBase.java b/java/org/apache/tomcat/websocket/WsFrameBase.java index cce9fd4e48..28eb0c46f8 100644 --- a/java/org/apache/tomcat/websocket/WsFrameBase.java +++ b/java/org/apache/tomcat/websocket/WsFrameBase.java @@ -82,8 +82,8 @@ public abstract class WsFrameBase { private volatile State state = State.NEW_FRAME; private volatile boolean open = true; -private static final AtomicReferenceFieldUpdater READ_STATE_UPDATER = AtomicReferenceFieldUpdater -.newUpdater(WsFrameBase.class, ReadState.class, "readState"); +private static final AtomicReferenceFieldUpdater READ_STATE_UPDATER = +AtomicReferenceFieldUpdater.newUpdater(WsFrameBase.class, ReadState.class, "readState"); private volatile ReadState readState = ReadState.WAITING; public WsFrameBase(WsSession wsSession, Transformation transformation) { @@ -680,20 +680,36 @@ public abstract class WsFrameBase { /** - * WAITING - not suspended Server case: waiting for a notification that data is ready to be read from the socket, - * the socket is registered to the poller Client case: data has been read from the socket and is waiting for data to - * be processed PROCESSING - not suspended Server case: reading from the socket and processing the data Client case: - * processing the data if such has already been read and more data will be read from the socket SUSPENDING_WAIT - - * suspended, a call to suspend() was made while in WAITING state. A call to resume() will do nothing and will - * transition to WAITING state SUSPENDING_PROCESS - suspended, a call to suspend() was made while in PROCESSING - * state. A call to resume() will do nothing and will transition to PROCESSING state SUSPENDED - suspended Server - * case: processing data finished (SUSPENDING_PROCESS) / a notification was received that data is ready to be read - * from the socket (SUSPENDING_WAIT), socket is not registered to the poller Client case: processing data finished - * (SUSPENDING_PROCESS) / data has been read from the socket and is available for processing (SUSPENDING_WAIT) A - * call to resume() will: Server case: register the socket to the poller Client case: resume data processing CLOSING - * - not suspended, a close will be send - * * + * WAITING- not suspended + * Server case: waiting for a notification that data is ready to be read from the socket, the + * socket is registered to the poller + * Client case: data has been read from the socket and is waiting for data to be processed + * + * PROCESSING - not suspended + * Server case: reading from the socket and processing the data + * Client case: processing the data if such has already been read and more data will be read + * from the socket + * + * SUSPENDING_WAIT- suspended, a call to suspend() was made while in WAITING state. A call to resume() will do + * nothing and will transition to WAITING state + * + * SUSPENDING_PROCESS - suspended, a call to suspend() was made while in PROCESSING state. A call to resume() will + * do nothing and will transition to PROCESSING state + * + * SUSPENDED - suspended + * Server case: processing data finished (SUSPENDING_PROCESS) / a notification was received + * that data is ready to be read from the socket (SUSPENDING_WAIT), socket is not + * registered to the poller + * Client case: processing data finished (SUSPENDING_PROCESS) / data has been read from the + * socket and is available for processing (SUSPENDING_WAIT) + * A call to resume() will: + * Server case: register the socket to the poller + * Client case: resume data processing + * + * CLOSING- not suspended, a close will be sent + * + * * resume data to beresume * no actionprocessed no
(tomcat) branch 10.1.x updated: Fix formatting
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 e49e0a9199 Fix formatting e49e0a9199 is described below commit e49e0a9199f0f480b329eb684a4227198c46546e Author: Mark Thomas AuthorDate: Tue Jan 16 10:15:21 2024 + Fix formatting --- java/org/apache/tomcat/websocket/WsFrameBase.java | 46 +++ 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/java/org/apache/tomcat/websocket/WsFrameBase.java b/java/org/apache/tomcat/websocket/WsFrameBase.java index cce9fd4e48..28eb0c46f8 100644 --- a/java/org/apache/tomcat/websocket/WsFrameBase.java +++ b/java/org/apache/tomcat/websocket/WsFrameBase.java @@ -82,8 +82,8 @@ public abstract class WsFrameBase { private volatile State state = State.NEW_FRAME; private volatile boolean open = true; -private static final AtomicReferenceFieldUpdater READ_STATE_UPDATER = AtomicReferenceFieldUpdater -.newUpdater(WsFrameBase.class, ReadState.class, "readState"); +private static final AtomicReferenceFieldUpdater READ_STATE_UPDATER = +AtomicReferenceFieldUpdater.newUpdater(WsFrameBase.class, ReadState.class, "readState"); private volatile ReadState readState = ReadState.WAITING; public WsFrameBase(WsSession wsSession, Transformation transformation) { @@ -680,20 +680,36 @@ public abstract class WsFrameBase { /** - * WAITING - not suspended Server case: waiting for a notification that data is ready to be read from the socket, - * the socket is registered to the poller Client case: data has been read from the socket and is waiting for data to - * be processed PROCESSING - not suspended Server case: reading from the socket and processing the data Client case: - * processing the data if such has already been read and more data will be read from the socket SUSPENDING_WAIT - - * suspended, a call to suspend() was made while in WAITING state. A call to resume() will do nothing and will - * transition to WAITING state SUSPENDING_PROCESS - suspended, a call to suspend() was made while in PROCESSING - * state. A call to resume() will do nothing and will transition to PROCESSING state SUSPENDED - suspended Server - * case: processing data finished (SUSPENDING_PROCESS) / a notification was received that data is ready to be read - * from the socket (SUSPENDING_WAIT), socket is not registered to the poller Client case: processing data finished - * (SUSPENDING_PROCESS) / data has been read from the socket and is available for processing (SUSPENDING_WAIT) A - * call to resume() will: Server case: register the socket to the poller Client case: resume data processing CLOSING - * - not suspended, a close will be send - * * + * WAITING- not suspended + * Server case: waiting for a notification that data is ready to be read from the socket, the + * socket is registered to the poller + * Client case: data has been read from the socket and is waiting for data to be processed + * + * PROCESSING - not suspended + * Server case: reading from the socket and processing the data + * Client case: processing the data if such has already been read and more data will be read + * from the socket + * + * SUSPENDING_WAIT- suspended, a call to suspend() was made while in WAITING state. A call to resume() will do + * nothing and will transition to WAITING state + * + * SUSPENDING_PROCESS - suspended, a call to suspend() was made while in PROCESSING state. A call to resume() will + * do nothing and will transition to PROCESSING state + * + * SUSPENDED - suspended + * Server case: processing data finished (SUSPENDING_PROCESS) / a notification was received + * that data is ready to be read from the socket (SUSPENDING_WAIT), socket is not + * registered to the poller + * Client case: processing data finished (SUSPENDING_PROCESS) / data has been read from the + * socket and is available for processing (SUSPENDING_WAIT) + * A call to resume() will: + * Server case: register the socket to the poller + * Client case: resume data processing + * + * CLOSING- not suspended, a close will be sent + * + * * resume data to beresume * no actionprocessed
(tomcat) branch 9.0.x updated: Fix formatting
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 60fcf9013c Fix formatting 60fcf9013c is described below commit 60fcf9013ca979a52c6897d339647577177aba53 Author: Mark Thomas AuthorDate: Tue Jan 16 10:15:21 2024 + Fix formatting --- java/org/apache/tomcat/websocket/WsFrameBase.java | 46 +++ 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/java/org/apache/tomcat/websocket/WsFrameBase.java b/java/org/apache/tomcat/websocket/WsFrameBase.java index 3b5a0633d6..3b82a90a00 100644 --- a/java/org/apache/tomcat/websocket/WsFrameBase.java +++ b/java/org/apache/tomcat/websocket/WsFrameBase.java @@ -82,8 +82,8 @@ public abstract class WsFrameBase { private volatile State state = State.NEW_FRAME; private volatile boolean open = true; -private static final AtomicReferenceFieldUpdater READ_STATE_UPDATER = AtomicReferenceFieldUpdater -.newUpdater(WsFrameBase.class, ReadState.class, "readState"); +private static final AtomicReferenceFieldUpdater READ_STATE_UPDATER = +AtomicReferenceFieldUpdater.newUpdater(WsFrameBase.class, ReadState.class, "readState"); private volatile ReadState readState = ReadState.WAITING; public WsFrameBase(WsSession wsSession, Transformation transformation) { @@ -680,20 +680,36 @@ public abstract class WsFrameBase { /** - * WAITING - not suspended Server case: waiting for a notification that data is ready to be read from the socket, - * the socket is registered to the poller Client case: data has been read from the socket and is waiting for data to - * be processed PROCESSING - not suspended Server case: reading from the socket and processing the data Client case: - * processing the data if such has already been read and more data will be read from the socket SUSPENDING_WAIT - - * suspended, a call to suspend() was made while in WAITING state. A call to resume() will do nothing and will - * transition to WAITING state SUSPENDING_PROCESS - suspended, a call to suspend() was made while in PROCESSING - * state. A call to resume() will do nothing and will transition to PROCESSING state SUSPENDED - suspended Server - * case: processing data finished (SUSPENDING_PROCESS) / a notification was received that data is ready to be read - * from the socket (SUSPENDING_WAIT), socket is not registered to the poller Client case: processing data finished - * (SUSPENDING_PROCESS) / data has been read from the socket and is available for processing (SUSPENDING_WAIT) A - * call to resume() will: Server case: register the socket to the poller Client case: resume data processing CLOSING - * - not suspended, a close will be send - * * + * WAITING- not suspended + * Server case: waiting for a notification that data is ready to be read from the socket, the + * socket is registered to the poller + * Client case: data has been read from the socket and is waiting for data to be processed + * + * PROCESSING - not suspended + * Server case: reading from the socket and processing the data + * Client case: processing the data if such has already been read and more data will be read + * from the socket + * + * SUSPENDING_WAIT- suspended, a call to suspend() was made while in WAITING state. A call to resume() will do + * nothing and will transition to WAITING state + * + * SUSPENDING_PROCESS - suspended, a call to suspend() was made while in PROCESSING state. A call to resume() will + * do nothing and will transition to PROCESSING state + * + * SUSPENDED - suspended + * Server case: processing data finished (SUSPENDING_PROCESS) / a notification was received + * that data is ready to be read from the socket (SUSPENDING_WAIT), socket is not + * registered to the poller + * Client case: processing data finished (SUSPENDING_PROCESS) / data has been read from the + * socket and is available for processing (SUSPENDING_WAIT) + * A call to resume() will: + * Server case: register the socket to the poller + * Client case: resume data processing + * + * CLOSING- not suspended, a close will be sent + * + * * resume data to beresume * no actionprocessed
(tomcat) branch 8.5.x updated: Fix formatting
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new 1008238ccf Fix formatting 1008238ccf is described below commit 1008238ccf7527cd46becba17c0749e9d4f2ed08 Author: Mark Thomas AuthorDate: Tue Jan 16 10:15:21 2024 + Fix formatting --- java/org/apache/tomcat/websocket/WsFrameBase.java | 46 +++ 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/java/org/apache/tomcat/websocket/WsFrameBase.java b/java/org/apache/tomcat/websocket/WsFrameBase.java index 3b5a0633d6..3b82a90a00 100644 --- a/java/org/apache/tomcat/websocket/WsFrameBase.java +++ b/java/org/apache/tomcat/websocket/WsFrameBase.java @@ -82,8 +82,8 @@ public abstract class WsFrameBase { private volatile State state = State.NEW_FRAME; private volatile boolean open = true; -private static final AtomicReferenceFieldUpdater READ_STATE_UPDATER = AtomicReferenceFieldUpdater -.newUpdater(WsFrameBase.class, ReadState.class, "readState"); +private static final AtomicReferenceFieldUpdater READ_STATE_UPDATER = +AtomicReferenceFieldUpdater.newUpdater(WsFrameBase.class, ReadState.class, "readState"); private volatile ReadState readState = ReadState.WAITING; public WsFrameBase(WsSession wsSession, Transformation transformation) { @@ -680,20 +680,36 @@ public abstract class WsFrameBase { /** - * WAITING - not suspended Server case: waiting for a notification that data is ready to be read from the socket, - * the socket is registered to the poller Client case: data has been read from the socket and is waiting for data to - * be processed PROCESSING - not suspended Server case: reading from the socket and processing the data Client case: - * processing the data if such has already been read and more data will be read from the socket SUSPENDING_WAIT - - * suspended, a call to suspend() was made while in WAITING state. A call to resume() will do nothing and will - * transition to WAITING state SUSPENDING_PROCESS - suspended, a call to suspend() was made while in PROCESSING - * state. A call to resume() will do nothing and will transition to PROCESSING state SUSPENDED - suspended Server - * case: processing data finished (SUSPENDING_PROCESS) / a notification was received that data is ready to be read - * from the socket (SUSPENDING_WAIT), socket is not registered to the poller Client case: processing data finished - * (SUSPENDING_PROCESS) / data has been read from the socket and is available for processing (SUSPENDING_WAIT) A - * call to resume() will: Server case: register the socket to the poller Client case: resume data processing CLOSING - * - not suspended, a close will be send - * * + * WAITING- not suspended + * Server case: waiting for a notification that data is ready to be read from the socket, the + * socket is registered to the poller + * Client case: data has been read from the socket and is waiting for data to be processed + * + * PROCESSING - not suspended + * Server case: reading from the socket and processing the data + * Client case: processing the data if such has already been read and more data will be read + * from the socket + * + * SUSPENDING_WAIT- suspended, a call to suspend() was made while in WAITING state. A call to resume() will do + * nothing and will transition to WAITING state + * + * SUSPENDING_PROCESS - suspended, a call to suspend() was made while in PROCESSING state. A call to resume() will + * do nothing and will transition to PROCESSING state + * + * SUSPENDED - suspended + * Server case: processing data finished (SUSPENDING_PROCESS) / a notification was received + * that data is ready to be read from the socket (SUSPENDING_WAIT), socket is not + * registered to the poller + * Client case: processing data finished (SUSPENDING_PROCESS) / data has been read from the + * socket and is available for processing (SUSPENDING_WAIT) + * A call to resume() will: + * Server case: register the socket to the poller + * Client case: resume data processing + * + * CLOSING- not suspended, a close will be sent + * + * * resume data to beresume * no actionprocessed
Jakarta EE 11 may be changing minimum Java version to 17
Hi all, I'm not sure what is going on as there has been one significant change in the announcement already but it looks to me as if the minimum Java version for Jakarta EE 11 is changing to Java 17 rather than Java 21. https://www.eclipse.org/lists/jakartaee-platform-dev/msg04371.html It seems far too late in the day for this change to me but I'm not sure that view is going to carry much weight. I've taken a quick look at the Tomcat 11 code base and a JreCompat for Java 21 shouldn't be too much work. I'm not planning on doing anything on this until the intentions of the Jakarta EE platform team are clearer. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Clarify channelStartOptions (SimpleTcpCluster) documentation
Hi, For the channelStartOptions attribute of SimpleTcpCluster, the Tomcat 8.5 documentation notes, "To start a channel without multicasting, you would want to use the value Channel.SND_RX_SEQ | Channel.SND_TX_SEQ that equals to 3." However, according to 9.0 and later documentation, "When using the static membership service org.apache.catalina.tribes.membership.StaticMembershipService you must ensure that this attribute is configured to use the default value." I had originally asked this question on the user mailing list https://marc.info/?l=tomcat-user&m=17024123364&w=2 which ch...@christopherschultz.net was kind to answer. Option 15 (the default) includes option 3. I know this sounds trivial when spelled-out, however, as a new Tomcat user, the explanation was really helpful. Therefore, I would like to propose that the documentation for 9.0 and later versions be elaborated to, "When using the static membership service org.apache.catalina.tribes.membership.StaticMembershipService (or the static membership interceptor org.apache.catalina.tribes.group.interceptor.StaticMembershipInterceptor) you must ensure that this attribute is configured to include the value Channel.SND_RX_SEQ | Channel.SND_TX_SEQ = 3 which the default value (15) does. This is because static membership exclusively uses unicast." I know this is more verbose than the previous versions, but imo it's much clearer. If this is fine, I would like to raise a PR on GitHub for the change. Sincerely, Manak Bisht
Re: Jakarta EE 11 may be changing minimum Java version to 17
On Tue, Jan 16, 2024 at 11:59 AM Mark Thomas wrote: > > Hi all, > > I'm not sure what is going on as there has been one significant change > in the announcement already but it looks to me as if the minimum Java > version for Jakarta EE 11 is changing to Java 17 rather than Java 21. > > https://www.eclipse.org/lists/jakartaee-platform-dev/msg04371.html > > It seems far too late in the day for this change to me but I'm not sure > that view is going to carry much weight. > > I've taken a quick look at the Tomcat 11 code base and a JreCompat for > Java 21 shouldn't be too much work. I'm not planning on doing anything > on this until the intentions of the Jakarta EE platform team are clearer. That's annoying ... The virtual threads are in the 21 compat. The Panama for Java 22 and building releases with 22+ should not require any additional changes. Rémy > Mark > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Buildbot success in on tomcat-9.0.x
Build status: Build succeeded! Worker used: bb_worker2_ubuntu URL: https://ci2.apache.org/#builders/37/builds/817 Blamelist: Mark Thomas , remm Build Text: build successful Status Detected: restored build Build Source Stamp: [branch 9.0.x] 60fcf9013ca979a52c6897d339647577177aba53 Steps: worker_preparation: 0 git: 0 shell: 0 shell_1: 0 shell_2: 0 shell_3: 0 shell_4: 0 shell_5: 0 compile: 1 shell_6: 0 shell_7: 0 shell_8: 0 shell_9: 0 Rsync docs to nightlies.apache.org: 0 shell_10: 0 Rsync RAT to nightlies.apache.org: 0 compile_1: 1 shell_11: 0 Rsync Logs to nightlies.apache.org: 0 -- ASF Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: Fix services sync
This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 14048a24c9 Fix services sync 14048a24c9 is described below commit 14048a24c9c2c85f542149aa769aef9a56ec7e7a Author: remm AuthorDate: Tue Jan 16 16:13:47 2024 +0100 Fix services sync Found by coverity. --- java/org/apache/catalina/core/StandardServer.java | 32 +++ 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/java/org/apache/catalina/core/StandardServer.java b/java/org/apache/catalina/core/StandardServer.java index e27246f6de..68dc96ce91 100644 --- a/java/org/apache/catalina/core/StandardServer.java +++ b/java/org/apache/catalina/core/StandardServer.java @@ -701,18 +701,22 @@ public final class StandardServer extends LifecycleMBeanBase implements Server { */ @Override public Service[] findServices() { -return services; +synchronized (servicesLock) { +return services.clone(); +} } /** * @return the JMX service names. */ public ObjectName[] getServiceNames() { -ObjectName[] onames = new ObjectName[services.length]; -for (int i = 0; i < services.length; i++) { -onames[i] = ((StandardService) services[i]).getObjectName(); +synchronized (servicesLock) { +ObjectName[] onames = new ObjectName[services.length]; +for (int i = 0; i < services.length; i++) { +onames[i] = ((StandardService) services[i]).getObjectName(); +} +return onames; } -return onames; } @@ -961,8 +965,10 @@ public final class StandardServer extends LifecycleMBeanBase implements Server { fireLifecycleEvent(CONFIGURE_STOP_EVENT, null); // Stop our defined Services -for (Service service : services) { -service.stop(); +synchronized (servicesLock) { +for (Service service : services) { +service.stop(); +} } synchronized (utilityExecutorLock) { @@ -1002,16 +1008,20 @@ public final class StandardServer extends LifecycleMBeanBase implements Server { globalNamingResources.init(); // Initialize our defined Services -for (Service service : services) { -service.init(); +synchronized (servicesLock) { +for (Service service : services) { +service.init(); +} } } @Override protected void destroyInternal() throws LifecycleException { // Destroy our defined Services -for (Service service : services) { -service.destroy(); +synchronized (servicesLock) { +for (Service service : services) { +service.destroy(); +} } globalNamingResources.destroy(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
sample example attached for previous threads
please find attached sample - 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 services sync
This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.1.x by this push: new 0d9e23d911 Fix services sync 0d9e23d911 is described below commit 0d9e23d9114f8c4a8a3a0623d952b194f4245d73 Author: remm AuthorDate: Tue Jan 16 16:13:47 2024 +0100 Fix services sync Found by coverity. --- java/org/apache/catalina/core/StandardServer.java | 32 +++ 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/java/org/apache/catalina/core/StandardServer.java b/java/org/apache/catalina/core/StandardServer.java index e66d32063f..e4ca5ec3d7 100644 --- a/java/org/apache/catalina/core/StandardServer.java +++ b/java/org/apache/catalina/core/StandardServer.java @@ -705,18 +705,22 @@ public final class StandardServer extends LifecycleMBeanBase implements Server { */ @Override public Service[] findServices() { -return services; +synchronized (servicesLock) { +return services.clone(); +} } /** * @return the JMX service names. */ public ObjectName[] getServiceNames() { -ObjectName[] onames = new ObjectName[services.length]; -for (int i = 0; i < services.length; i++) { -onames[i] = ((StandardService) services[i]).getObjectName(); +synchronized (servicesLock) { +ObjectName[] onames = new ObjectName[services.length]; +for (int i = 0; i < services.length; i++) { +onames[i] = ((StandardService) services[i]).getObjectName(); +} +return onames; } -return onames; } @@ -965,8 +969,10 @@ public final class StandardServer extends LifecycleMBeanBase implements Server { fireLifecycleEvent(CONFIGURE_STOP_EVENT, null); // Stop our defined Services -for (Service service : services) { -service.stop(); +synchronized (servicesLock) { +for (Service service : services) { +service.stop(); +} } synchronized (utilityExecutorLock) { @@ -1006,16 +1012,20 @@ public final class StandardServer extends LifecycleMBeanBase implements Server { globalNamingResources.init(); // Initialize our defined Services -for (Service service : services) { -service.init(); +synchronized (servicesLock) { +for (Service service : services) { +service.init(); +} } } @Override protected void destroyInternal() throws LifecycleException { // Destroy our defined Services -for (Service service : services) { -service.destroy(); +synchronized (servicesLock) { +for (Service service : services) { +service.destroy(); +} } globalNamingResources.destroy(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Backporting patch for CVE-2023-46589 to Tomcat 8.0.14
Hello Mark, On Mon 18 Dec 2023 at 05:00pm GMT, Mark Thomas wrote: > Am I understanding this request correctly? > > Freexian has sold at least one customer - probably multiple > customers - long term support for Tomcat 8.0.x and has now found that > it is unable to provide that support. > > Feexian's solution to this dilemma is to ask the Tomcat community - > who stopped supporting Tomcat 8.0.x over five years ago in June 2018 - > to provide free support to fill this gap in Freexian's capability to > support Tomcat. > > There are several things that don't seem right about the above so I am > looking forward to you correcting my understanding of the > circumstances of this request. I'd like to apologise for making a request that you felt was ill-placed. It was not our intent to abuse this forum. I am new to this work, and I didn't reflect adequately on how I was interacting with you not merely as an ordinary volunteer Free Software developer, which is what I'm used to. In fact, Freexian is keen to offer to contract with upstream developers when external expertise is required. We should have mentioned that possibility in our first contact. I resolved the issue I posted about after sleeping on it, but perhaps on some other occasion we'll have an opportunity to work together. Should we (Freexian) find ourselves at some future point in need of assistance of a similar nature, is there a better way to find upstream developers that can help and do contracting work than posting to this list? My apologies again, and also for following up only almost a month later. This thread was delivered to a mail folder into which I did not expect it would go. -- Sean Whitton - 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 services sync
This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/9.0.x by this push: new 4f33be682f Fix services sync 4f33be682f is described below commit 4f33be682fda02a616baa0fd9b4965d248cfe1c1 Author: remm AuthorDate: Tue Jan 16 16:13:47 2024 +0100 Fix services sync Found by coverity. --- java/org/apache/catalina/core/StandardServer.java | 32 +++ 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/java/org/apache/catalina/core/StandardServer.java b/java/org/apache/catalina/core/StandardServer.java index 8a9b9e3095..2b2ae007e2 100644 --- a/java/org/apache/catalina/core/StandardServer.java +++ b/java/org/apache/catalina/core/StandardServer.java @@ -709,18 +709,22 @@ public final class StandardServer extends LifecycleMBeanBase implements Server { */ @Override public Service[] findServices() { -return services; +synchronized (servicesLock) { +return services.clone(); +} } /** * @return the JMX service names. */ public ObjectName[] getServiceNames() { -ObjectName[] onames = new ObjectName[services.length]; -for (int i = 0; i < services.length; i++) { -onames[i] = ((StandardService) services[i]).getObjectName(); +synchronized (servicesLock) { +ObjectName[] onames = new ObjectName[services.length]; +for (int i = 0; i < services.length; i++) { +onames[i] = ((StandardService) services[i]).getObjectName(); +} +return onames; } -return onames; } @@ -969,8 +973,10 @@ public final class StandardServer extends LifecycleMBeanBase implements Server { fireLifecycleEvent(CONFIGURE_STOP_EVENT, null); // Stop our defined Services -for (Service service : services) { -service.stop(); +synchronized (servicesLock) { +for (Service service : services) { +service.stop(); +} } synchronized (utilityExecutorLock) { @@ -1035,16 +1041,20 @@ public final class StandardServer extends LifecycleMBeanBase implements Server { } } // Initialize our defined Services -for (Service service : services) { -service.init(); +synchronized (servicesLock) { +for (Service service : services) { +service.init(); +} } } @Override protected void destroyInternal() throws LifecycleException { // Destroy our defined Services -for (Service service : services) { -service.destroy(); +synchronized (servicesLock) { +for (Service service : services) { +service.destroy(); +} } globalNamingResources.destroy(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch 8.5.x updated: Fix services sync
This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new f29b312704 Fix services sync f29b312704 is described below commit f29b3127049c1275d02ea0c1dab17b97dd912f5f Author: remm AuthorDate: Tue Jan 16 16:13:47 2024 +0100 Fix services sync Found by coverity. --- java/org/apache/catalina/core/StandardServer.java | 32 +++ 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/java/org/apache/catalina/core/StandardServer.java b/java/org/apache/catalina/core/StandardServer.java index fa76dcb6a4..20af162d2c 100644 --- a/java/org/apache/catalina/core/StandardServer.java +++ b/java/org/apache/catalina/core/StandardServer.java @@ -572,18 +572,22 @@ public final class StandardServer extends LifecycleMBeanBase implements Server { */ @Override public Service[] findServices() { -return services; +synchronized (servicesLock) { +return services.clone(); +} } /** * @return the JMX service names. */ public ObjectName[] getServiceNames() { -ObjectName[] onames = new ObjectName[services.length]; -for (int i = 0; i < services.length; i++) { -onames[i] = ((StandardService) services[i]).getObjectName(); +synchronized (servicesLock) { +ObjectName[] onames = new ObjectName[services.length]; +for (int i = 0; i < services.length; i++) { +onames[i] = ((StandardService) services[i]).getObjectName(); +} +return onames; } -return onames; } @@ -792,8 +796,10 @@ public final class StandardServer extends LifecycleMBeanBase implements Server { fireLifecycleEvent(CONFIGURE_STOP_EVENT, null); // Stop our defined Services -for (Service service : services) { -service.stop(); +synchronized (servicesLock) { +for (Service service : services) { +service.stop(); +} } globalNamingResources.stop(); @@ -850,16 +856,20 @@ public final class StandardServer extends LifecycleMBeanBase implements Server { } } // Initialize our defined Services -for (Service service : services) { -service.init(); +synchronized (servicesLock) { +for (Service service : services) { +service.init(); +} } } @Override protected void destroyInternal() throws LifecycleException { // Destroy our defined Services -for (Service service : services) { -service.destroy(); +synchronized (servicesLock) { +for (Service service : services) { +service.destroy(); +} } globalNamingResources.destroy(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 68480] Add cipher alias for TLSv1.3
https://bz.apache.org/bugzilla/show_bug.cgi?id=68480 --- Comment #1 from Christopher Schultz --- There are only 5 cipher suites defied in TLSv1.3. Is this really that much of an optimization? I suppose it's a bit of a documentation improvement for configuration... -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 68480] Add cipher alias for TLSv1.3
https://bz.apache.org/bugzilla/show_bug.cgi?id=68480 Remy Maucherat changed: What|Removed |Added Severity|normal |enhancement --- Comment #2 from Remy Maucherat --- There is some handling but it is a hack. I would say adding a separate cipher suite attribute is probably not a bad idea. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch main updated: Throw an ISE instead of return null
This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 87091cedc0 Throw an ISE instead of return null 87091cedc0 is described below commit 87091cedc058204424a2b18368b4756564797e66 Author: remm AuthorDate: Tue Jan 16 16:38:13 2024 +0100 Throw an ISE instead of return null Found by coverity. --- java/org/apache/catalina/startup/LocalStrings.properties | 1 + java/org/apache/catalina/startup/Tomcat.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/startup/LocalStrings.properties b/java/org/apache/catalina/startup/LocalStrings.properties index facc17c182..5abd648a71 100644 --- a/java/org/apache/catalina/startup/LocalStrings.properties +++ b/java/org/apache/catalina/startup/LocalStrings.properties @@ -159,6 +159,7 @@ tomcat.homeDirMakeFail=Unable to create the directory [{0}] to use as the home d tomcat.invalidCommandLine=Invalid command line arguments [{0}] tomcat.noContextClass=Failed to instantiate context class [{0}] for host [{1}] and url [{2}] tomcat.noContextXml=Unable to determine web application context.xml [{0}] +tomcat.noWrapper=Failed to create wrapper userConfig.database=Exception loading user database userConfig.deploy=Deploying web application for user [{0}] diff --git a/java/org/apache/catalina/startup/Tomcat.java b/java/org/apache/catalina/startup/Tomcat.java index 4eb1e10f1f..71d8bf1f9e 100644 --- a/java/org/apache/catalina/startup/Tomcat.java +++ b/java/org/apache/catalina/startup/Tomcat.java @@ -384,7 +384,7 @@ public class Tomcat { // will do class for name and set init params Wrapper sw = ctx.createWrapper(); if (sw == null) { -return null; +throw new IllegalStateException(sm.getString("tomcat.noWrapper")); } sw.setServletClass(servletClass); sw.setName(servletName); - 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: Throw an ISE instead of return null
This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.1.x by this push: new 3fe81486ef Throw an ISE instead of return null 3fe81486ef is described below commit 3fe81486eff27d54face3310ba28cc4b5ee576e0 Author: remm AuthorDate: Tue Jan 16 16:38:13 2024 +0100 Throw an ISE instead of return null Found by coverity. --- java/org/apache/catalina/startup/LocalStrings.properties | 1 + java/org/apache/catalina/startup/Tomcat.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/startup/LocalStrings.properties b/java/org/apache/catalina/startup/LocalStrings.properties index facc17c182..5abd648a71 100644 --- a/java/org/apache/catalina/startup/LocalStrings.properties +++ b/java/org/apache/catalina/startup/LocalStrings.properties @@ -159,6 +159,7 @@ tomcat.homeDirMakeFail=Unable to create the directory [{0}] to use as the home d tomcat.invalidCommandLine=Invalid command line arguments [{0}] tomcat.noContextClass=Failed to instantiate context class [{0}] for host [{1}] and url [{2}] tomcat.noContextXml=Unable to determine web application context.xml [{0}] +tomcat.noWrapper=Failed to create wrapper userConfig.database=Exception loading user database userConfig.deploy=Deploying web application for user [{0}] diff --git a/java/org/apache/catalina/startup/Tomcat.java b/java/org/apache/catalina/startup/Tomcat.java index 716758c5b5..d39bb8d928 100644 --- a/java/org/apache/catalina/startup/Tomcat.java +++ b/java/org/apache/catalina/startup/Tomcat.java @@ -385,7 +385,7 @@ public class Tomcat { // will do class for name and set init params Wrapper sw = ctx.createWrapper(); if (sw == null) { -return null; +throw new IllegalStateException(sm.getString("tomcat.noWrapper")); } sw.setServletClass(servletClass); sw.setName(servletName); - 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: Throw an ISE instead of return null
This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/9.0.x by this push: new 58c3841f40 Throw an ISE instead of return null 58c3841f40 is described below commit 58c3841f4097cd12f033c75773c9a581efff7202 Author: remm AuthorDate: Tue Jan 16 16:38:13 2024 +0100 Throw an ISE instead of return null Found by coverity. --- java/org/apache/catalina/startup/LocalStrings.properties | 1 + java/org/apache/catalina/startup/Tomcat.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/startup/LocalStrings.properties b/java/org/apache/catalina/startup/LocalStrings.properties index 2f3cbde545..918345ed22 100644 --- a/java/org/apache/catalina/startup/LocalStrings.properties +++ b/java/org/apache/catalina/startup/LocalStrings.properties @@ -157,6 +157,7 @@ tomcat.homeDirMakeFail=Unable to create the directory [{0}] to use as the home d tomcat.invalidCommandLine=Invalid command line arguments [{0}] tomcat.noContextClass=Failed to instantiate context class [{0}] for host [{1}] and url [{2}] tomcat.noContextXml=Unable to determine web application context.xml [{0}] +tomcat.noWrapper=Failed to create wrapper userConfig.database=Exception loading user database userConfig.deploy=Deploying web application for user [{0}] diff --git a/java/org/apache/catalina/startup/Tomcat.java b/java/org/apache/catalina/startup/Tomcat.java index bac2421ed9..0eeb85efb4 100644 --- a/java/org/apache/catalina/startup/Tomcat.java +++ b/java/org/apache/catalina/startup/Tomcat.java @@ -386,7 +386,7 @@ public class Tomcat { // will do class for name and set init params Wrapper sw = ctx.createWrapper(); if (sw == null) { -return null; +throw new IllegalStateException(sm.getString("tomcat.noWrapper")); } sw.setServletClass(servletClass); sw.setName(servletName); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat) branch 8.5.x updated: Throw an ISE instead of return null
This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new 3e6ff3d085 Throw an ISE instead of return null 3e6ff3d085 is described below commit 3e6ff3d08516484ad0d4ad17463cb54de4340630 Author: remm AuthorDate: Tue Jan 16 16:38:13 2024 +0100 Throw an ISE instead of return null Found by coverity. --- java/org/apache/catalina/startup/LocalStrings.properties | 1 + java/org/apache/catalina/startup/Tomcat.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/startup/LocalStrings.properties b/java/org/apache/catalina/startup/LocalStrings.properties index 34ad65cab6..1db37ba354 100644 --- a/java/org/apache/catalina/startup/LocalStrings.properties +++ b/java/org/apache/catalina/startup/LocalStrings.properties @@ -139,6 +139,7 @@ tomcat.baseDirMakeFail=Unable to create the directory [{0}] to use as the base d tomcat.baseDirNotDir=The location [{0}] specified for the base directory is not a directory tomcat.defaultMimeTypeMappingsFail=Unable to load the default MIME types tomcat.homeDirMakeFail=Unable to create the directory [{0}] to use as the home directory +tomcat.noWrapper=Failed to create wrapper userConfig.database=Exception loading user database userConfig.deploy=Deploying web application for user [{0}] diff --git a/java/org/apache/catalina/startup/Tomcat.java b/java/org/apache/catalina/startup/Tomcat.java index ef7023ea16..135bbc32df 100644 --- a/java/org/apache/catalina/startup/Tomcat.java +++ b/java/org/apache/catalina/startup/Tomcat.java @@ -377,7 +377,7 @@ public class Tomcat { // will do class for name and set init params Wrapper sw = ctx.createWrapper(); if (sw == null) { -return null; +throw new IllegalStateException(sm.getString("tomcat.noWrapper")); } sw.setServletClass(servletClass); sw.setName(servletName); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Supposed to provide performance at daemon thread in tomcat
Hello, On 1/15/24 03:45, koteswara Rao Gundapaneni wrote: On Sun, 14 Jan 2024, 18:13 koteswara Rao Gundapaneni, < koti.gundapan...@gmail.com> wrote: hi Daemon threads have identified the performance issue inorder to complete . Thread which is set as daemon by default has performance bottleneck I explain that as below myeg.setDaemon(true); myeg.start(); the above start() method is taking long time to complete which is by default performance bottleneck The Thread.start() method is not something under the control of the Apache Tomcat team. That is a core JVM method. so bootstrap has its performance issue as this loader thread is using daemon thread. In our code base we have lot of places where we have the code as below as mentioned above. myeg.setDaemon(true); myeg.start(); Whose code is "our code"? inorder to resolve the issue we will yield the corresponding thread Inorder to limit the time taking for above line of code we have the solution like below myeg.setDaemon(true); myeg.start(); myeg.yield(); How can a call to Thread.yield() which is made *after* a call to Thread.start() make the call to Thread.start() execute more quickly? Here is the documentation for Thread.yield (with emphasis added by me): " A hint to the scheduler that the current thread is willing to yield its current use of a processor. **The scheduler is free to ignore this hint.** Yield is a heuristic attempt to improve relative progression between threads that would otherwise over-utilise a CPU. Its use should be combined with detailed profiling and benchmarking to ensure that it actually has the desired effect. **It is rarely appropriate to use this method.** It may be useful for debugging or testing purposes, where it may help to reproduce bugs due to race conditions. It may also be useful when designing concurrency control constructs such as the ones in the java.util.concurrent.locks package. " Note that calling someOtherThread.yield() actually causes the current thread (e.g. Main in your likely example) to yield, rather than instructing someOtherThread to yield. If this is intentional, it looks like what you are trying to do is instruct the current thread to cause Thread called "myeg" (aka someOtherThread) to start and then to immediate yield the current thread's time back to the scheduler. This should not be necessary. the yield method declared as above will reduce the time taking for start method Hope this will make sense if not I will write it in my own language telugu. I get the idea you are trying to convey, but it does not make much technical sense to me. Your code for Bootstrap.start() is using reflection to invoke Catalina.start from your main thread. But you are not running any of your own code in any non-main thread, so of course the call to Catalina.start is taking "a long time": there is a lot of work to be done to bring a server online. If you want your main thread to continue while Catalina is starting, then you should run that in a separate thread. For example: new Thread(r -> catalina.start()).start(); If you think there is a performance problem in Apache Tomcat, the best way to demonstrate it is with a Unit Test which reproduces the problem. What you are presenting appears to be either a misunderstanding of threading in Java or a misuse of Tomcat's Catalina class. If you are concerned with performance, you might want to use less reflection in your code, since it's very slow compared to direct method invocations. -chris On Sun, Jan 14, 2024 at 4:13 AM Mark Thomas wrote: You have yet to provide an explanation of the problem you are trying to solve. Unless and until you provide the information requested, further messages from you on this topic will be ignored. Mark On 14/01/2024 12:05, koteswara Rao Gundapaneni wrote: hi team before clicking the link or check new private window in mozilla image.png when we browse the following link https://github.com/KoteswararaoGundapaneni/KotiSpringRepository/tree/master < https://github.com/KoteswararaoGundapaneni/KotiSpringRepository/tree/master image.png Here the code page is shown as above On Fri, Jan 12, 2024 at 6:41 PM koteswara Rao Gundapaneni mailto:koti.gundapan...@gmail.com>> wrote: hi mark, please check if the code is now available at your end I verified from my end it can be visible On Fri, Jan 12, 2024 at 1:28 AM koteswara Rao Gundapaneni mailto:koti.gundapan...@gmail.com>> wrote: Sorry for the inconvenience as its been a private repo just now i committed my changes to a new public repo https://github.com/KoteswararaoGundapaneni/KotiSpringRepository/tree/master < https://github.com/KoteswararaoGundapaneni/KotiSpringRepository/tree/master Please find my attested changes in whole file 'Bootstrap.java'. On Fri, Jan 12, 2024 at 12:24 AM Mark Thomas mailto:ma...@apache.org>> wrote:
Re: (tomcat) branch main updated: Fix logic bug spotted by Coverity Scan
Konstantin, On 1/15/24 09:30, Konstantin Kolinko wrote: пн, 15 янв. 2024 г. в 13:16, : 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 bee714eb1d Fix logic bug spotted by Coverity Scan bee714eb1d is described below commit bee714eb1dabfcc07bf410e1145f6c580f14539d Author: Mark Thomas AuthorDate: Mon Jan 15 10:11:59 2024 + Fix logic bug spotted by Coverity Scan --- .../apache/tomcat/util/digester/ServiceBindingPropertySource.java| 2 +- webapps/docs/changelog.xml | 5 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/java/org/apache/tomcat/util/digester/ServiceBindingPropertySource.java b/java/org/apache/tomcat/util/digester/ServiceBindingPropertySource.java index 89617c9cfb..bd06630f01 100644 --- a/java/org/apache/tomcat/util/digester/ServiceBindingPropertySource.java +++ b/java/org/apache/tomcat/util/digester/ServiceBindingPropertySource.java @@ -116,7 +116,7 @@ public class ServiceBindingPropertySource implements IntrospectionUtils.Property int length = bytes.length; if (chomp) { -if(length > 1 && bytes[length - 2] == '\r' && bytes[length - 2] == '\n') { +if(length > 1 && bytes[length - 2] == '\r' && bytes[length - 1] == '\n') { length -= 2; } else if (length > 0) { byte c = bytes[length - 1]; diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 6e9ffb917c..aa7fce0034 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -120,6 +120,11 @@ that is no longer included in the JAR. Based on pull request 684 by Jendrik Johannes. (markt) + +Fix ServiceBindingPropertySource so that trailing \r\n +sequences are correctly removed from files containing property values +when configured to do so. Bug identified by Coverity Scan. (markt) + Reviewing the code of ServiceBindingPropertySource, 1. It removes only the last end-of-line sequence (one or two characters). It could be rewritten with a loop to remove any \n \r characters that are found at the end. This was intentional (only trim the final newline) but could be updated if the team thinks it makes sense to do so. Maybe text-editing programs append a trailing newline at the end of text files unless you take special steps to prevent it from happening. It's usually easy to limit the trailing newlines to a single one. 2. The code later uses "return new String(bytes, 0, length);" to create a String, without specifying any encoding. This was intentional as well, as the file is originally read without specifying the encoding. Allowing an admin to specify the encoding would have expanded the configuration for ServiceBrindingPropertySource and my intent at the time was to make the fewest number of changes possible. I guess that the Platform default encoding nowadays is UTF-8. Or maybe it makes sense to use the default encoding, as people edit those files, using whatever default encoding they prefer. +1 A PropertySource is specified using a system property. Specifying the encoding for a file-based PropertySource would mean having another system property or a more complicated configuration scheme for PropertySource. I'm happy to entertain ideas for improvement. -chris - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat-tck) 01/01: Update README.md
This is an automated email from the ASF dual-hosted git repository. fhanik pushed a commit to branch pr/fix-readme-header in repository https://gitbox.apache.org/repos/asf/tomcat-tck.git commit 30862b7848ff5c0e3aa2ced15434eab2dcbe0d1c Author: Filip Hanik AuthorDate: Tue Jan 16 08:43:07 2024 -0800 Update README.md Fix header typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b705791..0850418 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ At the moment, you will need to build the TCK locally (see below). 1. `mvn verify` -### Running the EL TCK +### Running the WebSocket TCK 1. Review the component TCK and Tomcat versions in `$TCK_TOMCAT/pom.xml` and edit as required. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[PR] Update README.md [tomcat-tck]
fhanik opened a new pull request, #1: URL: https://github.com/apache/tomcat-tck/pull/1 Fix header typo -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat-tck) branch pr/fix-readme-header created (now 30862b7)
This is an automated email from the ASF dual-hosted git repository. fhanik pushed a change to branch pr/fix-readme-header in repository https://gitbox.apache.org/repos/asf/tomcat-tck.git at 30862b7 Update README.md This branch includes the following new commits: new 30862b7 Update README.md 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
Re: [PR] Update README.md [tomcat-tck]
markt-asf merged PR #1: URL: https://github.com/apache/tomcat-tck/pull/1 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat-tck) branch main updated (59f20d2 -> 629457a)
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-tck.git from 59f20d2 Fix numbering on GitHub add 30862b7 Update README.md new 629457a Merge pull request #1 from apache/pr/fix-readme-header 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: README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
(tomcat-tck) branch pr/fix-readme-header deleted (was 30862b7)
This is an automated email from the ASF dual-hosted git repository. markt pushed a change to branch pr/fix-readme-header in repository https://gitbox.apache.org/repos/asf/tomcat-tck.git was 30862b7 Update README.md 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-tck) 01/01: Merge pull request #1 from apache/pr/fix-readme-header
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 commit 629457a0ba6bde75390c94f8afa16881c0a98eab Merge: 59f20d2 30862b7 Author: Mark Thomas AuthorDate: Tue Jan 16 17:04:11 2024 + Merge pull request #1 from apache/pr/fix-readme-header Update README.md README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Buildbot failure in on tomcat-10.1.x
Build status: BUILD FAILED: failed compile (failure) Worker used: bb_worker2_ubuntu URL: https://ci2.apache.org/#builders/44/builds/1101 Blamelist: remm Build Text: failed compile (failure) Status Detected: new failure Build Source Stamp: [branch 10.1.x] 3fe81486eff27d54face3310ba28cc4b5ee576e0 Steps: worker_preparation: 0 git: 0 shell: 0 shell_1: 0 shell_2: 0 shell_3: 0 shell_4: 0 shell_5: 0 compile: 1 shell_6: 0 shell_7: 0 shell_8: 0 shell_9: 0 Rsync docs to nightlies.apache.org: 0 shell_10: 0 Rsync RAT to nightlies.apache.org: 0 compile_1: 2 shell_11: 0 Rsync Logs to nightlies.apache.org: 0 -- ASF Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Backporting patch for CVE-2023-46589 to Tomcat 8.0.14
On 16/01/2024 15:20, Sean Whitton wrote: Hello Mark, On Mon 18 Dec 2023 at 05:00pm GMT, Mark Thomas wrote: Am I understanding this request correctly? Freexian has sold at least one customer - probably multiple customers - long term support for Tomcat 8.0.x and has now found that it is unable to provide that support. Feexian's solution to this dilemma is to ask the Tomcat community - who stopped supporting Tomcat 8.0.x over five years ago in June 2018 - to provide free support to fill this gap in Freexian's capability to support Tomcat. There are several things that don't seem right about the above so I am looking forward to you correcting my understanding of the circumstances of this request. I'd like to apologise for making a request that you felt was ill-placed. It was not our intent to abuse this forum. I am new to this work, and I didn't reflect adequately on how I was interacting with you not merely as an ordinary volunteer Free Software developer, which is what I'm used to. Thank you. In fact, Freexian is keen to offer to contract with upstream developers when external expertise is required. We should have mentioned that possibility in our first contact. I resolved the issue I posted about after sleeping on it, but perhaps on some other occasion we'll have an opportunity to work together. Should we (Freexian) find ourselves at some future point in need of assistance of a similar nature, is there a better way to find upstream developers that can help and do contracting work than posting to this list? This list is probably best. I don't think there would be any objection to an occasional request for contracting help with a little background as long as the subsequent discussion was taken off-list. My apologies again, and also for following up only almost a month later. This thread was delivered to a mail folder into which I did not expect it would go. Understood. Good to hear that you got the issue resolved. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 68493] New: NoSuchMethodException: java.lang.foreign.MemorySegment.getString(long) is thrown during the application start using java 21
https://bz.apache.org/bugzilla/show_bug.cgi?id=68493 Bug ID: 68493 Summary: NoSuchMethodException: java.lang.foreign.MemorySegment.getString(long) is thrown during the application start using java 21 Product: Tomcat 11 Version: 11.0.0-M16 Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: ffatherander...@gmail.com Target Milestone: --- Created attachment 39524 --> https://bz.apache.org/bugzilla/attachment.cgi?id=39524&action=edit error stacktrace I have windows 10 with WSL2 environment set up. I run app from under the WSL. java --version openjdk 21.0.1 2023-10-17 OpenJDK Runtime Environment (build 21.0.1+12-29) OpenJDK 64-Bit Server VM (build 21.0.1+12-29, mixed mode, sharing) Above are jdk details. The version of tomcat I am trying to run is 11.0.0-M16. I go with spring boot app, and when I am running spring boot app with the command: mvn spring-boot:run I am getting a stack trace that you may find in the attached file. Also, when I open the file "java.lang.foreign.MemorySegment" - java 21 really does not have method "getString(long)", but java 22 does have it. So I assume something is wrong here... With java 21 or with tomcat 11. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 68495] New: Unable to find match between the canonical context and the URI presented by the user agent
https://bz.apache.org/bugzilla/show_bug.cgi?id=68495 Bug ID: 68495 Summary: Unable to find match between the canonical context and the URI presented by the user agent Product: Tomcat 9 Version: 9.0.85 Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: daniel.tschernat...@icloud.com Target Milestone: - It seems that Bug 66488 was never really fixed. Because we saw several occastion where the request URL was overwritten by other Header data like User agent (or parts of the URL were deleted) like in these two instances: using Tomcat Embedded 9.0.83 java.lang.IllegalStateException: Unable to find match between the canonical context path [/app1] and the URI presented by the user agent [f=70d24a53-fe99-4f9c-a512-5f5abd5bce3] or using the Standalone Tomcat 9.0.85 java.lang.IllegalStateException: Unable to find match between the canonical context path [/app2] and the URI presented by the user agent [--WebKitFormBoundaryMVjw2B39oX3x4Oii] The exception is thrown when a POST request was sent by the browser after the session timed out. Workaround: Downgrade to Tomcat 9.0.35 (we didn't check later Versions in between the affected ones, yet). -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Add warning & prevent search indexing of EOL documentation
Hi, According to the EOL page of Tomcat 8.5 ( https://tomcat.apache.org/tomcat-85-eol.html) after support ends, "the links to the 8.5.x documentation will be removed from tomcat.apache.org " It makes sense that this policy was/is applied to previous EOL versions as well. However, while the pages aren't listed, the documentation for Tomcat 7 for example can be directly accessed through https://tomcat.apache.org/tomcat-7.0-doc/index.html. If this is purely for archival purposes, an EOL warning should at least be added to the page headers. The bigger problem is that these pages are indexed by search engines like Google and sometimes appear above current documentation in search results. This can make it confusing for newcomers (like me). I think a tag should be added to the outdated documentation pages so that this can be avoided. If the above is fine, I would like to raise a PR with the changes. Sincerely, Manak Bisht
[Bug 68493] NoSuchMethodException: java.lang.foreign.MemorySegment.getString(long) is thrown during the application start using java 21
https://bz.apache.org/bugzilla/show_bug.cgi?id=68493 Manak Bisht changed: What|Removed |Added OS||All --- Comment #1 from Manak Bisht --- The java.lang.foreign package is part of the Foreign Function and Memory (FFM) API which is still under preview in Java 22. This means that the API contract is subject to change until the final release. This method is available as getUtf8String(long) in Java 21 (https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/foreign/MemorySegment.html#getUtf8String(long)), but appears to have been renamed to getString(long) in Java 22 (https://download.java.net/java/early_access/jdk22/docs/api/java.base/java/lang/foreign/MemorySegment.html#getString(long)). It seems to me that this https://github.com/apache/tomcat/blame/87091cedc058204424a2b18368b4756564797e66/java/org/apache/tomcat/util/compat/Jre22Compat.java#L39 try-catch block should also catch the case of java.lang.NoSuchMethodException when running with JDK21. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org