[Bug 69559] WARNING: sun.misc.Unsafe::invokeCleaner has been called by org.apache.tomcat.util.buf.ByteBufferUtils

2025-02-03 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=69559

Mark Thomas  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Mark Thomas  ---
Fixed in:
- 11.0.x for 11.0.3 onwards
- 10.1.x for 10.1.35 onwards
-  9.0.x for  9.0.99 onwards

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



(tomcat) branch 9.0.x updated: Fix BZ 69559 - Avoid 24 warning when not relevant

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

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


The following commit(s) were added to refs/heads/9.0.x by this push:
 new 6c4d98d17e Fix BZ 69559 - Avoid 24 warning when not relevant
6c4d98d17e is described below

commit 6c4d98d17e986c030773bcc66b7fbfcad8bf5796
Author: Mark Thomas 
AuthorDate: Mon Feb 3 15:40:36 2025 +

Fix BZ 69559 - Avoid 24 warning when not relevant

Ensure that the Java 24 warning regarding the of
sun.misc.Unsafe::invokeCleaner is only reported by the JRE when the code
will be used.

https://bz.apache.org/bugzilla/show_bug.cgi?id=69559
---
 .../apache/tomcat/util/buf/ByteBufferUtils.java| 78 +-
 ...BufferUtils.java => ByteBufferUtilsUnsafe.java} | 50 +++---
 webapps/docs/changelog.xml |  5 ++
 3 files changed, 17 insertions(+), 116 deletions(-)

diff --git a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java 
b/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
index e082fb36a4..3ad2b51864 100644
--- a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
+++ b/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
@@ -16,66 +16,10 @@
  */
 package org.apache.tomcat.util.buf;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.nio.ByteBuffer;
 
-import org.apache.juli.logging.Log;
-import org.apache.juli.logging.LogFactory;
-import org.apache.tomcat.util.compat.JreCompat;
-import org.apache.tomcat.util.res.StringManager;
-
 public class ByteBufferUtils {
 
-private static final StringManager sm = 
StringManager.getManager(ByteBufferUtils.class);
-private static final Log log = LogFactory.getLog(ByteBufferUtils.class);
-
-private static final Object unsafe;
-private static final Method cleanerMethod;
-private static final Method cleanMethod;
-private static final Method invokeCleanerMethod;
-
-static {
-ByteBuffer tempBuffer = ByteBuffer.allocateDirect(0);
-Method cleanerMethodLocal = null;
-Method cleanMethodLocal = null;
-Object unsafeLocal = null;
-Method invokeCleanerMethodLocal = null;
-if (JreCompat.isJre9Available()) {
-try {
-Class clazz = Class.forName("sun.misc.Unsafe");
-Field theUnsafe = clazz.getDeclaredField("theUnsafe");
-theUnsafe.setAccessible(true);
-unsafeLocal = theUnsafe.get(null);
-invokeCleanerMethodLocal = clazz.getMethod("invokeCleaner", 
ByteBuffer.class);
-invokeCleanerMethodLocal.invoke(unsafeLocal, tempBuffer);
-} catch (IllegalAccessException | IllegalArgumentException | 
InvocationTargetException |
-NoSuchMethodException | SecurityException | 
ClassNotFoundException | NoSuchFieldException e) {
-log.warn(sm.getString("byteBufferUtils.cleaner"), e);
-unsafeLocal = null;
-invokeCleanerMethodLocal = null;
-}
-} else {
-try {
-cleanerMethodLocal = 
tempBuffer.getClass().getMethod("cleaner");
-cleanerMethodLocal.setAccessible(true);
-Object cleanerObject = cleanerMethodLocal.invoke(tempBuffer);
-cleanMethodLocal = cleanerObject.getClass().getMethod("clean");
-cleanMethodLocal.invoke(cleanerObject);
-} catch (NoSuchMethodException | SecurityException | 
IllegalAccessException | IllegalArgumentException |
-InvocationTargetException e) {
-log.warn(sm.getString("byteBufferUtils.cleaner"), e);
-cleanerMethodLocal = null;
-cleanMethodLocal = null;
-}
-}
-cleanerMethod = cleanerMethodLocal;
-cleanMethod = cleanMethodLocal;
-unsafe = unsafeLocal;
-invokeCleanerMethod = invokeCleanerMethodLocal;
-}
-
 private ByteBufferUtils() {
 // Hide the default constructor since this is a utility class.
 }
@@ -118,28 +62,10 @@ public class ByteBufferUtils {
 
 /**
  * Clean specified direct buffer. This will cause an unavoidable warning 
on Java 24 and newer.
+ *
  * @param buf the buffer to clean
  */
 public static void cleanDirectBuffer(ByteBuffer buf) {
-if (cleanMethod != null) {
-try {
-cleanMethod.invoke(cleanerMethod.invoke(buf));
-} catch (IllegalAccessException | IllegalArgumentException | 
InvocationTargetException |
-SecurityException e) {
-if (log.isDebugEnabled()) {
-log.debug(sm.getString("byteBufferUtils.cleaner"), e);
-}
-}
-} else if (invokeCleanerMethod != null) {
-try {
- 

Re: Tomcat 9 extended support

2025-02-03 Thread Mark Thomas

Responding to all the threads here...

On 03/02/2025 13:40, Christopher Schultz wrote:



3. What minimum version of Java do we want to support? Stick with Java 
8? Increase the minimum version in line with availability of free 
supported JREs (e.g. from Temurin)? Something else?


There are some shops who are petrified to change *anything* including 
the JVM running their old servlet containers. Sure, some minor things 
have changed within the JVM itself but really things should mostly work 
with Java 24 that were working in Java 8. The biggest headache I've seen 
has been adding --adds-opens and things like that to keep things working.


Consensus appears to be that we continue supporting Tomcat 9 on Java 8.


5. Do we effectively just continue with 9.0.x or create 9.?.x?


My first question would be "what guarantees have we made for Tomcat 
9.0.x that we might want to adjust, requiring a 9.1.x or similar?" I 
know some of these "guarantees" might actually be more traditions and 
not policies, but I would guess that downstream users have come to 
expect certain things from this project, and I believe we should 
continue to honor those traditions.


If seems that there might be support for dropping support for the 
APR/Native connector.


6. Do we continue from 9.0.x or do we start from 10.1.x and revert the 
Jakarta EE API changes?


I don't think I can make a useful contribution this decision.

I suspect the folks that want extended 9.0.x support also want minimal 
changes. If we do plan on changing things (minimum Java version, 
dropping APR) we should provide plenty of notice.


The two available migration tools (Tomcat and Eclipse) are quite good, 
though I haven't used them extensively. The fact that you should be able 
to deploy a JavaEE web application into Tomcat 10 or later should be the 
preferred upgrade path for anyone who doesn't want to actually port 
their application.


I would consider it a bug if Tomcat's migration tool wouldn't allow an 
application to be deployed into Tomcat 10+ and continue to work, barring 
any API incompatibilities. Such incompatibilities are currently minimal 
but will grow over time. Fortunately, search-and-replace on a code base 
should effectively perform the same duty on source that Tomcat performs 
on binaries. Is there any reason the Tomcat Migration Tool couldn't be 
used on *source* artifacts?


None. It should work. Converting *.java files is explicitly supported.

When do we think extended support will start? My best guess is no 
earlier than 31 March 2027.


This will mostly be tied to the next Jakarta EE release / Tomcat 12, right?


Yes.

In summary, I think there is consensus for:

- continue Tomcat 9 releases on the same basis as we do currently
- continue with Java 8 as the minimum Java version
- announce our plans once we think we have something concrete

And potentially (separating this out so folks can object)

- Deprecate the APR/Native connector and advertise it will be removed in
  9.1.x onwards
- EOL 9.0.x no earlier than 31 March 2027 (based on Jakarta EE 12
  release dates)
- Provide LTS via 9.1.x which is 9.0.x less the APr/Native connector
  with those components modified to be NO-OPs / log a warning /
  automatically use NIO+OpenSSL instead as appropriate

If we can finalise this as a plan in the next few weeks that allows us 
to get a notice out by 31 March this year providing at least 2 years 
notice of 9.0.x's EOL and the plans for 9.1.x.


Mark

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



Re: [PR] clean up org.apache.tomcat.util.http RequestUtil [tomcat]

2025-02-03 Thread via GitHub


koust6u commented on code in PR #818:
URL: https://github.com/apache/tomcat/pull/818#discussion_r1939672492


##
java/org/apache/tomcat/util/http/RequestUtil.java:
##
@@ -145,7 +138,7 @@ public static boolean isSameOrigin(HttpServletRequest 
request, String origin) {
 // ports. Therefore only append the port to the target if a
 // non-default port is used.
 if (("http".equals(scheme) || "ws".equals(scheme)) && port != 80 ||
-("https".equals(scheme) || "wss".equals(scheme)) && port 
!= 443) {
+("https".equals(scheme) || "wss".equals(scheme)) && port != 
443) {

Review Comment:
   thanks



-- 
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] clean up org.apache.tomcat.util.http RequestUtil [tomcat]

2025-02-03 Thread via GitHub


markt-asf commented on code in PR #818:
URL: https://github.com/apache/tomcat/pull/818#discussion_r1939680064


##
java/org/apache/tomcat/util/http/RequestUtil.java:
##
@@ -123,19 +123,12 @@ public static boolean isSameOrigin(HttpServletRequest 
request, String origin) {
 // Build scheme://host:port from request
 StringBuilder target = new StringBuilder();
 String scheme = request.getScheme();
-if (scheme == null) {
-return false;
-} else {
-scheme = scheme.toLowerCase(Locale.ENGLISH);
-}
-target.append(scheme);
-target.append("://");
-
 String host = request.getServerName();
-if (host == null) {
+if (scheme == null || host == null) {
 return false;
 }
-target.append(host);
+scheme = scheme.toLowerCase(Locale.ENGLISH);
+target.append(scheme).append("://").append(host);

Review Comment:
   This is ever so slightly less efficient if scheme is null but I do like that 
the code is a lot more compact. I don't think it is worth checking scheme for 
null before retrieving the host so +1 to the change as proposed.



-- 
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] clean up org.apache.tomcat.util.http RequestUtil [tomcat]

2025-02-03 Thread via GitHub


koust6u commented on code in PR #818:
URL: https://github.com/apache/tomcat/pull/818#discussion_r1940452423


##
java/org/apache/tomcat/util/http/RequestUtil.java:
##
@@ -123,19 +123,12 @@ public static boolean isSameOrigin(HttpServletRequest 
request, String origin) {
 // Build scheme://host:port from request
 StringBuilder target = new StringBuilder();
 String scheme = request.getScheme();
-if (scheme == null) {
-return false;
-} else {
-scheme = scheme.toLowerCase(Locale.ENGLISH);
-}
-target.append(scheme);
-target.append("://");
-
 String host = request.getServerName();
-if (host == null) {
+if (scheme == null || host == null) {
 return false;
 }
-target.append(host);
+scheme = scheme.toLowerCase(Locale.ENGLISH);
+target.append(scheme).append("://").append(host);

Review Comment:
   i have a question i think that is or operator,
so even if only one of them is null, it seems to be an early return, 
   which one feels less efficient?



-- 
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] clean up org.apache.tomcat.util.http RequestUtil [tomcat]

2025-02-03 Thread via GitHub


koust6u commented on code in PR #818:
URL: https://github.com/apache/tomcat/pull/818#discussion_r1940452423


##
java/org/apache/tomcat/util/http/RequestUtil.java:
##
@@ -123,19 +123,12 @@ public static boolean isSameOrigin(HttpServletRequest 
request, String origin) {
 // Build scheme://host:port from request
 StringBuilder target = new StringBuilder();
 String scheme = request.getScheme();
-if (scheme == null) {
-return false;
-} else {
-scheme = scheme.toLowerCase(Locale.ENGLISH);
-}
-target.append(scheme);
-target.append("://");
-
 String host = request.getServerName();
-if (host == null) {
+if (scheme == null || host == null) {
 return false;
 }
-target.append(host);
+scheme = scheme.toLowerCase(Locale.ENGLISH);
+target.append(scheme).append("://").append(host);

Review Comment:
   i have a question i think that is or operator,
so even if only one of them is null, it seems to be early return, 
   which one feels less efficient?



-- 
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] log connectionId [tomcat]

2025-02-03 Thread via GitHub


Dmole commented on PR #814:
URL: https://github.com/apache/tomcat/pull/814#issuecomment-2631971994

   I added it to both AccessLogValve and ExtendedAccessLogValve because it is 
non-trivial for users to switch between them as the documentation does not 
provide a mapping (EG: %v = ?), and the extended valve does not permit 
arbitrary formatting (EG: JSON log).
   
   is that OK?
   
   


-- 
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] certificate regression [tomcat]

2025-02-03 Thread via GitHub


Dmole commented on PR #815:
URL: https://github.com/apache/tomcat/pull/815#issuecomment-2631976321

   Looks like it was not "intentional" after all 
https://github.com/apache/tomcat/commit/904701a434325534b856b70f085dbe1dee05c43a
 


-- 
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 11.0.x updated: Fix BZ 69532 - Optimise the creation of ExpressionFactory instances

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

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


The following commit(s) were added to refs/heads/11.0.x by this push:
 new 1eef0d9fb8 Fix BZ 69532 - Optimise the creation of ExpressionFactory 
instances
1eef0d9fb8 is described below

commit 1eef0d9fb8045cb194f7fecb9fd4da21cd8129dc
Author: Mark Thomas 
AuthorDate: Mon Feb 3 09:54:01 2025 +

Fix BZ 69532 - Optimise the creation of ExpressionFactory instances

Patch provided by John Engebretson.
https://bz.apache.org/bugzilla/show_bug.cgi?id=69532
---
 java/jakarta/el/ExpressionFactoryCache.java |  84 +++
 java/jakarta/el/Util.java   | 105 +---
 test/jakarta/el/TestExpressionFactoryCache.java |  62 ++
 webapps/docs/changelog.xml  |   5 ++
 4 files changed, 153 insertions(+), 103 deletions(-)

diff --git a/java/jakarta/el/ExpressionFactoryCache.java 
b/java/jakarta/el/ExpressionFactoryCache.java
new file mode 100644
index 00..dd54a82887
--- /dev/null
+++ b/java/jakarta/el/ExpressionFactoryCache.java
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ */
+package jakarta.el;
+
+import java.lang.ref.WeakReference;
+import java.util.WeakHashMap;
+import java.util.concurrent.atomic.AtomicReference;
+
+class ExpressionFactoryCache {
+
+private final 
AtomicReference>> 
factoryCache;
+
+ExpressionFactoryCache() {
+factoryCache = new AtomicReference<>(new WeakHashMap<>());
+}
+
+/**
+ * Retrieves the currently cached ExpressionFactory, or creates a new one 
if required. Reads from an immutable
+ * WeakHashMap (which is threadsafe); in the rare cases that mutation is 
required, a new copy is created and
+ * modified, then swapped in via AtomicReference. Key performance 
characteristics:
+ * 
+ * Reads are uncontended on an immutable object. (threadsafe)
+ * Writes are performed by copying an immutable object, then 
inserting. (threadsafe)
+ * The new object is swapped in via AtomicReference, or re-attempted 
if the data has since changed.
+ * (threadsafe)
+ * A single call will create 0 or 1 instances of ExpressionFactory. 
Simultaneous initialization by multiple
+ * threads may create 2+ instances of ExpressionFactory, but excess 
instances are short-lived and harmless.
+ * (memorysafe)
+ * ClassLoaders are weakly held (memorysafe)
+ * ExpressionFactorys are weakly held (memorysafe)
+ * No objects are allocated on cache hits (the common case)
+ * 
+ *
+ * @param cl The classloader for which the cached {@code 
ExpressionFactory} is to be created or retrieved
+ *
+ * @return The cached {@code ExpressionFactory} for the given {@code 
ClassLoader}
+ */
+ExpressionFactory getOrCreateExpressionFactory(ClassLoader cl) {
+WeakHashMap> cache;
+WeakHashMap> newCache;
+ExpressionFactory factory = null;
+WeakReference factoryRef;
+do {
+// cache cannot be null
+cache = factoryCache.get();
+
+factoryRef = cache.get(cl);
+// factoryRef can be null (could be uninitialized, or the GC 
cleaned the weak ref)
+if (factoryRef != null) {
+factory = factoryRef.get();
+// factory can be null (GC may have cleaned the ref)
+if (factory != null) {
+return factory;
+}
+}
+
+// something somewhere was uninitialized or GCd
+if (factory == null) {
+// only create an instance on the first iteration of the loop
+factory = ExpressionFactory.newInstance();
+}
+factoryRef = new WeakReference<>(factory);
+newCache = new WeakHashMap<>(cache);
+
+newCache.put(cl, factoryRef);
+} while (!factoryCache.compareAndSet(cache, newCache));
+
+return factory;
+}
+}
diff --git a/java/jakarta/el/Util.java b/java/jakarta/el/Util.java
index 59bc98b538..63f6f3fba3 100644
--- a/java/jakarta/

(tomcat) branch 10.1.x updated: Fix BZ 69532 - Optimise the creation of ExpressionFactory instances

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

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


The following commit(s) were added to refs/heads/10.1.x by this push:
 new 3534f402ed Fix BZ 69532 - Optimise the creation of ExpressionFactory 
instances
3534f402ed is described below

commit 3534f402edf079d3c945fa8b34b4473c90e30e0c
Author: Mark Thomas 
AuthorDate: Mon Feb 3 09:54:01 2025 +

Fix BZ 69532 - Optimise the creation of ExpressionFactory instances

Patch provided by John Engebretson.
https://bz.apache.org/bugzilla/show_bug.cgi?id=69532
---
 java/jakarta/el/ExpressionFactoryCache.java |  84 +++
 java/jakarta/el/Util.java   | 105 +---
 test/jakarta/el/TestExpressionFactoryCache.java |  62 ++
 webapps/docs/changelog.xml  |   5 ++
 4 files changed, 153 insertions(+), 103 deletions(-)

diff --git a/java/jakarta/el/ExpressionFactoryCache.java 
b/java/jakarta/el/ExpressionFactoryCache.java
new file mode 100644
index 00..dd54a82887
--- /dev/null
+++ b/java/jakarta/el/ExpressionFactoryCache.java
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ */
+package jakarta.el;
+
+import java.lang.ref.WeakReference;
+import java.util.WeakHashMap;
+import java.util.concurrent.atomic.AtomicReference;
+
+class ExpressionFactoryCache {
+
+private final 
AtomicReference>> 
factoryCache;
+
+ExpressionFactoryCache() {
+factoryCache = new AtomicReference<>(new WeakHashMap<>());
+}
+
+/**
+ * Retrieves the currently cached ExpressionFactory, or creates a new one 
if required. Reads from an immutable
+ * WeakHashMap (which is threadsafe); in the rare cases that mutation is 
required, a new copy is created and
+ * modified, then swapped in via AtomicReference. Key performance 
characteristics:
+ * 
+ * Reads are uncontended on an immutable object. (threadsafe)
+ * Writes are performed by copying an immutable object, then 
inserting. (threadsafe)
+ * The new object is swapped in via AtomicReference, or re-attempted 
if the data has since changed.
+ * (threadsafe)
+ * A single call will create 0 or 1 instances of ExpressionFactory. 
Simultaneous initialization by multiple
+ * threads may create 2+ instances of ExpressionFactory, but excess 
instances are short-lived and harmless.
+ * (memorysafe)
+ * ClassLoaders are weakly held (memorysafe)
+ * ExpressionFactorys are weakly held (memorysafe)
+ * No objects are allocated on cache hits (the common case)
+ * 
+ *
+ * @param cl The classloader for which the cached {@code 
ExpressionFactory} is to be created or retrieved
+ *
+ * @return The cached {@code ExpressionFactory} for the given {@code 
ClassLoader}
+ */
+ExpressionFactory getOrCreateExpressionFactory(ClassLoader cl) {
+WeakHashMap> cache;
+WeakHashMap> newCache;
+ExpressionFactory factory = null;
+WeakReference factoryRef;
+do {
+// cache cannot be null
+cache = factoryCache.get();
+
+factoryRef = cache.get(cl);
+// factoryRef can be null (could be uninitialized, or the GC 
cleaned the weak ref)
+if (factoryRef != null) {
+factory = factoryRef.get();
+// factory can be null (GC may have cleaned the ref)
+if (factory != null) {
+return factory;
+}
+}
+
+// something somewhere was uninitialized or GCd
+if (factory == null) {
+// only create an instance on the first iteration of the loop
+factory = ExpressionFactory.newInstance();
+}
+factoryRef = new WeakReference<>(factory);
+newCache = new WeakHashMap<>(cache);
+
+newCache.put(cl, factoryRef);
+} while (!factoryCache.compareAndSet(cache, newCache));
+
+return factory;
+}
+}
diff --git a/java/jakarta/el/Util.java b/java/jakarta/el/Util.java
index b307bba131..30060cce22 100644
--- a/java/jakarta/

[Bug 69532] Performance optimization in Util.getExpressionFactory()

2025-02-03 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=69532

Mark Thomas  changed:

   What|Removed |Added

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

--- Comment #9 from Mark Thomas  ---
Fixed in:
- 11.0.x for 11.0.3 onwards
- 10.1.x for 10.1.35 onwards
-  9.0.x for  9.0.99 onwards

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



Re: [PR] Replace \r\n with SimpleHttpClient.CRLF in Http2TestBase & Cleanup RequestUtil [tomcat]

2025-02-03 Thread via GitHub


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

   1 change per PR please.
   
   Note that we try to avoid static imports if at all possible.


-- 
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] log connectionId [tomcat]

2025-02-03 Thread via GitHub


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

   This is not the way to do this. Look at the ExtendedAccessLogValve. Look at 
`x-H(...)` options.


-- 
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 main updated: Fix BZ 69532 - Optimise the creation of ExpressionFactory instances

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

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


The following commit(s) were added to refs/heads/main by this push:
 new c59a4b5757 Fix BZ 69532 - Optimise the creation of ExpressionFactory 
instances
c59a4b5757 is described below

commit c59a4b5757583e3175c8d3d5a087928990779901
Author: Mark Thomas 
AuthorDate: Mon Feb 3 09:54:01 2025 +

Fix BZ 69532 - Optimise the creation of ExpressionFactory instances

Patch provided by John Engebretson.
https://bz.apache.org/bugzilla/show_bug.cgi?id=69532
---
 java/jakarta/el/ExpressionFactoryCache.java |  84 +++
 java/jakarta/el/Util.java   | 105 +---
 test/jakarta/el/TestExpressionFactoryCache.java |  62 ++
 webapps/docs/changelog.xml  |   5 ++
 4 files changed, 153 insertions(+), 103 deletions(-)

diff --git a/java/jakarta/el/ExpressionFactoryCache.java 
b/java/jakarta/el/ExpressionFactoryCache.java
new file mode 100644
index 00..dd54a82887
--- /dev/null
+++ b/java/jakarta/el/ExpressionFactoryCache.java
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ */
+package jakarta.el;
+
+import java.lang.ref.WeakReference;
+import java.util.WeakHashMap;
+import java.util.concurrent.atomic.AtomicReference;
+
+class ExpressionFactoryCache {
+
+private final 
AtomicReference>> 
factoryCache;
+
+ExpressionFactoryCache() {
+factoryCache = new AtomicReference<>(new WeakHashMap<>());
+}
+
+/**
+ * Retrieves the currently cached ExpressionFactory, or creates a new one 
if required. Reads from an immutable
+ * WeakHashMap (which is threadsafe); in the rare cases that mutation is 
required, a new copy is created and
+ * modified, then swapped in via AtomicReference. Key performance 
characteristics:
+ * 
+ * Reads are uncontended on an immutable object. (threadsafe)
+ * Writes are performed by copying an immutable object, then 
inserting. (threadsafe)
+ * The new object is swapped in via AtomicReference, or re-attempted 
if the data has since changed.
+ * (threadsafe)
+ * A single call will create 0 or 1 instances of ExpressionFactory. 
Simultaneous initialization by multiple
+ * threads may create 2+ instances of ExpressionFactory, but excess 
instances are short-lived and harmless.
+ * (memorysafe)
+ * ClassLoaders are weakly held (memorysafe)
+ * ExpressionFactorys are weakly held (memorysafe)
+ * No objects are allocated on cache hits (the common case)
+ * 
+ *
+ * @param cl The classloader for which the cached {@code 
ExpressionFactory} is to be created or retrieved
+ *
+ * @return The cached {@code ExpressionFactory} for the given {@code 
ClassLoader}
+ */
+ExpressionFactory getOrCreateExpressionFactory(ClassLoader cl) {
+WeakHashMap> cache;
+WeakHashMap> newCache;
+ExpressionFactory factory = null;
+WeakReference factoryRef;
+do {
+// cache cannot be null
+cache = factoryCache.get();
+
+factoryRef = cache.get(cl);
+// factoryRef can be null (could be uninitialized, or the GC 
cleaned the weak ref)
+if (factoryRef != null) {
+factory = factoryRef.get();
+// factory can be null (GC may have cleaned the ref)
+if (factory != null) {
+return factory;
+}
+}
+
+// something somewhere was uninitialized or GCd
+if (factory == null) {
+// only create an instance on the first iteration of the loop
+factory = ExpressionFactory.newInstance();
+}
+factoryRef = new WeakReference<>(factory);
+newCache = new WeakHashMap<>(cache);
+
+newCache.put(cl, factoryRef);
+} while (!factoryCache.compareAndSet(cache, newCache));
+
+return factory;
+}
+}
diff --git a/java/jakarta/el/Util.java b/java/jakarta/el/Util.java
index 59bc98b538..63f6f3fba3 100644
--- a/java/jakarta/el/U

(tomcat) branch 9.0.x updated: Fix BZ 69532 - Optimise the creation of ExpressionFactory instances

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

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


The following commit(s) were added to refs/heads/9.0.x by this push:
 new 60c50b8ee0 Fix BZ 69532 - Optimise the creation of ExpressionFactory 
instances
60c50b8ee0 is described below

commit 60c50b8ee03ecde7f6cfed445a59a51ba58c09af
Author: Mark Thomas 
AuthorDate: Mon Feb 3 09:54:01 2025 +

Fix BZ 69532 - Optimise the creation of ExpressionFactory instances

Patch provided by John Engebretson.
https://bz.apache.org/bugzilla/show_bug.cgi?id=69532
---
 java/javax/el/ExpressionFactoryCache.java |  84 +
 java/javax/el/Util.java   | 105 +-
 test/javax/el/TestExpressionFactoryCache.java |  62 +++
 webapps/docs/changelog.xml|   5 ++
 4 files changed, 153 insertions(+), 103 deletions(-)

diff --git a/java/javax/el/ExpressionFactoryCache.java 
b/java/javax/el/ExpressionFactoryCache.java
new file mode 100644
index 00..5c5aebfe5c
--- /dev/null
+++ b/java/javax/el/ExpressionFactoryCache.java
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ */
+package javax.el;
+
+import java.lang.ref.WeakReference;
+import java.util.WeakHashMap;
+import java.util.concurrent.atomic.AtomicReference;
+
+class ExpressionFactoryCache {
+
+private final 
AtomicReference>> 
factoryCache;
+
+ExpressionFactoryCache() {
+factoryCache = new AtomicReference<>(new WeakHashMap<>());
+}
+
+/**
+ * Retrieves the currently cached ExpressionFactory, or creates a new one 
if required. Reads from an immutable
+ * WeakHashMap (which is threadsafe); in the rare cases that mutation is 
required, a new copy is created and
+ * modified, then swapped in via AtomicReference. Key performance 
characteristics:
+ * 
+ * Reads are uncontended on an immutable object. (threadsafe)
+ * Writes are performed by copying an immutable object, then 
inserting. (threadsafe)
+ * The new object is swapped in via AtomicReference, or re-attempted 
if the data has since changed.
+ * (threadsafe)
+ * A single call will create 0 or 1 instances of ExpressionFactory. 
Simultaneous initialization by multiple
+ * threads may create 2+ instances of ExpressionFactory, but excess 
instances are short-lived and harmless.
+ * (memorysafe)
+ * ClassLoaders are weakly held (memorysafe)
+ * ExpressionFactorys are weakly held (memorysafe)
+ * No objects are allocated on cache hits (the common case)
+ * 
+ *
+ * @param cl The classloader for which the cached {@code 
ExpressionFactory} is to be created or retrieved
+ *
+ * @return The cached {@code ExpressionFactory} for the given {@code 
ClassLoader}
+ */
+ExpressionFactory getOrCreateExpressionFactory(ClassLoader cl) {
+WeakHashMap> cache;
+WeakHashMap> newCache;
+ExpressionFactory factory = null;
+WeakReference factoryRef;
+do {
+// cache cannot be null
+cache = factoryCache.get();
+
+factoryRef = cache.get(cl);
+// factoryRef can be null (could be uninitialized, or the GC 
cleaned the weak ref)
+if (factoryRef != null) {
+factory = factoryRef.get();
+// factory can be null (GC may have cleaned the ref)
+if (factory != null) {
+return factory;
+}
+}
+
+// something somewhere was uninitialized or GCd
+if (factory == null) {
+// only create an instance on the first iteration of the loop
+factory = ExpressionFactory.newInstance();
+}
+factoryRef = new WeakReference<>(factory);
+newCache = new WeakHashMap<>(cache);
+
+newCache.put(cl, factoryRef);
+} while (!factoryCache.compareAndSet(cache, newCache));
+
+return factory;
+}
+}
diff --git a/java/javax/el/Util.java b/java/javax/el/Util.java
index e9983ecbb3..fe5408fb7d 100644
--- a/java/javax/el/Util.java
+++ b/

(tomcat) branch main updated: Limit maximum memory to 256m for test threads

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

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


The following commit(s) were added to refs/heads/main by this push:
 new 1dbe55ee39 Limit maximum memory to 256m for test threads
1dbe55ee39 is described below

commit 1dbe55ee39f1a7b14effea46c7be1be7cb3d23b6
Author: Mark Thomas 
AuthorDate: Mon Feb 3 10:02:03 2025 +

Limit maximum memory to 256m for test threads

I was observing OOME with runs using a large number of threads on a
machine with lots of cores.
---
 build.xml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/build.xml b/build.xml
index f47b137d1c..bdb0b0cf7a 100644
--- a/build.xml
+++ b/build.xml
@@ -2043,7 +2043,8 @@
   errorproperty="test.result.error"
   failureproperty="test.result.failure"
   haltonfailure="${test.haltonfailure}"
-  threads="${test.threads}">
+  threads="${test.threads}"
+  maxmemory="256m">
 
   
   


-
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: Limit maximum memory to 256m for test threads

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

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


The following commit(s) were added to refs/heads/11.0.x by this push:
 new 9414daabec Limit maximum memory to 256m for test threads
9414daabec is described below

commit 9414daabec00552faad41bd6c2dcda3403945e97
Author: Mark Thomas 
AuthorDate: Mon Feb 3 10:02:03 2025 +

Limit maximum memory to 256m for test threads

I was observing OOME with runs using a large number of threads on a
machine with lots of cores.
---
 build.xml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/build.xml b/build.xml
index eea8006a86..68b607715f 100644
--- a/build.xml
+++ b/build.xml
@@ -2044,7 +2044,8 @@
   errorproperty="test.result.error"
   failureproperty="test.result.failure"
   haltonfailure="${test.haltonfailure}"
-  threads="${test.threads}">
+  threads="${test.threads}"
+  maxmemory="256m">
 
   
   


-
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: Limit maximum memory to 256m for test threads

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

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


The following commit(s) were added to refs/heads/9.0.x by this push:
 new b4869918e6 Limit maximum memory to 256m for test threads
b4869918e6 is described below

commit b4869918e630aec1ca524c603037c9a8eadfc770
Author: Mark Thomas 
AuthorDate: Mon Feb 3 10:02:03 2025 +

Limit maximum memory to 256m for test threads

I was observing OOME with runs using a large number of threads on a
machine with lots of cores.
---
 build.xml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/build.xml b/build.xml
index ae9cfe2243..b0ad36272f 100644
--- a/build.xml
+++ b/build.xml
@@ -2046,7 +2046,8 @@
   errorproperty="test.result.error"
   failureproperty="test.result.failure"
   haltonfailure="${test.haltonfailure}"
-  threads="${test.threads}">
+  threads="${test.threads}"
+  maxmemory="256m">
 
   
   


-
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: Limit maximum memory to 256m for test threads

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

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


The following commit(s) were added to refs/heads/10.1.x by this push:
 new 65236d77ab Limit maximum memory to 256m for test threads
65236d77ab is described below

commit 65236d77ab9de51941eff6153ed75f173572f9ac
Author: Mark Thomas 
AuthorDate: Mon Feb 3 10:02:03 2025 +

Limit maximum memory to 256m for test threads

I was observing OOME with runs using a large number of threads on a
machine with lots of cores.
---
 build.xml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/build.xml b/build.xml
index 7fa3ccd89f..434628b3d7 100644
--- a/build.xml
+++ b/build.xml
@@ -2050,7 +2050,8 @@
   errorproperty="test.result.error"
   failureproperty="test.result.failure"
   haltonfailure="${test.haltonfailure}"
-  threads="${test.threads}">
+  threads="${test.threads}"
+  maxmemory="256m">
 
   
   


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



[Bug 69562] New: External Clothing Brand

2025-02-03 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=69562

Bug ID: 69562
   Summary: External Clothing Brand
   Product: Tomcat Native
   Version: unspecified
  Hardware: PC
Status: NEW
  Severity: normal
  Priority: P2
 Component: Documentation
  Assignee: dev@tomcat.apache.org
  Reporter: backlinkmaste...@gmail.com
  Target Milestone: ---

Created attachment 39987
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=39987&action=edit
External Clothing Brand – Where style meets individuality. We create
high-quality hoodies and bold streetwear designed for comfort and
self-expression. Stand out, stay stylish, and own the look

Step into the world of External Clothing Brand, where fashion meets
individuality. We specialize in high-quality hoodies, bold graphic designs, and
trend-setting streetwear that let you express yourself effortlessly. Inspired
by creativity, culture, and comfort, our pieces blend style and functionality
to give you the perfect everyday look.

>From eye-catching prints to premium fabrics, every hoodie is designed to stand
out while keeping you comfortable. Whether you're hitting the streets or
chilling indoors, External Clothing Brand is your go-to for urban fashion with
an edge.

 Wear the vibe. Own the look. Stay External.

https://www.3xternal.com/

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



Buildbot success in on tomcat-12.0.x

2025-02-03 Thread buildbot
Build status: Build succeeded!
Worker used: bb_worker2_ubuntu
URL: https://ci2.apache.org/#builders/120/builds/353
Blamelist: Mark Thomas 
Build Text: build successful
Status Detected: restored build
Build Source Stamp: [branch main] c59a4b5757583e3175c8d3d5a087928990779901


Steps:

  worker_preparation: 0

  git: 0

  shell: 0

  shell_1: 0

  shell_2: 0

  shell_3: 0

  shell_4: 0

  shell_5: 0

  shell_6: 0

  compile: 1

  shell_7: 0

  shell_8: 0

  shell_9: 0

  shell_10: 0

  Rsync docs to nightlies.apache.org: 0

  shell_11: 0

  Rsync RAT to nightlies.apache.org: 0

  compile_1: 1

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



[Bug 69365] Expose option for WebResource to determine it is read-only/read-write for DefaultServlet/WebdavServlet

2025-02-03 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=69365

Mark Thomas  changed:

   What|Removed |Added

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

--- Comment #7 from Mark Thomas  ---
Fixed by remm in
- 11.0.x for 11.0.3 onwards
- 10.1.x for 10.1.35 onwards
-  9.0.x for  9.0.99 onwards

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



[Bug 69562] SPAM SPAM SPAM SPAM

2025-02-03 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=69562

Chuck Caldarale  changed:

   What|Removed |Added

 OS||All
 Resolution|--- |INVALID
 Status|NEW |RESOLVED
Summary|External Clothing Brand |SPAM SPAM SPAM SPAM

-- 
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 69562] External Clothing Brand

2025-02-03 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=69562

--- Comment #1 from Chuck Caldarale  ---
The content of attachment 39987 has been deleted for the following reason:

Spam

-- 
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 69559] WARNING: sun.misc.Unsafe::invokeCleaner has been called by org.apache.tomcat.util.buf.ByteBufferUtils

2025-02-03 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=69559

Mark Thomas  changed:

   What|Removed |Added

 Resolution|WONTFIX |---
 Status|RESOLVED|REOPENED

--- Comment #3 from Mark Thomas  ---
There is currently no way to avoid this even if direct buffers are not being
used. I have some ideas for a fix.

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



Re: [PR] clean up org.apache.tomcat.util.http RequestUtil [tomcat]

2025-02-03 Thread via GitHub


funkman commented on code in PR #818:
URL: https://github.com/apache/tomcat/pull/818#discussion_r1939578798


##
test/org/apache/tomcat/util/http/TestRequestUtilSameOrigin.java:
##
@@ -42,6 +42,8 @@ public static Collection parameters() {
 TesterRequest request2 = new TesterRequest("ws", "example.com", 80);
 TesterRequest request3 = new TesterRequest("http", "example.com", 443);
 TesterRequest request4 = new TesterRequest("http", "example.com", 
8080);
+TesterRequest request5 = new TesterRequest(null, "exmaple.com", 80);

Review Comment:
   exmaple is mispelled



-- 
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 11.0.x updated: Fix BZ 69559 - Avoid 24 warning when not relevant

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

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


The following commit(s) were added to refs/heads/11.0.x by this push:
 new 14f25027c7 Fix BZ 69559 - Avoid 24 warning when not relevant
14f25027c7 is described below

commit 14f25027c70bbe8bb78c9317640f80cb17b512c1
Author: Mark Thomas 
AuthorDate: Mon Feb 3 15:40:36 2025 +

Fix BZ 69559 - Avoid 24 warning when not relevant

Ensure that the Java 24 warning regarding the of
sun.misc.Unsafe::invokeCleaner is only reported by the JRE when the code
will be used.

https://bz.apache.org/bugzilla/show_bug.cgi?id=69559
---
 .../apache/tomcat/util/buf/ByteBufferUtils.java| 47 +---
 ...BufferUtils.java => ByteBufferUtilsUnsafe.java} | 50 +-
 webapps/docs/changelog.xml |  5 +++
 3 files changed, 17 insertions(+), 85 deletions(-)

diff --git a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java 
b/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
index 6ae744db2a..3ad2b51864 100644
--- a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
+++ b/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
@@ -16,44 +16,10 @@
  */
 package org.apache.tomcat.util.buf;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.nio.ByteBuffer;
 
-import org.apache.juli.logging.Log;
-import org.apache.juli.logging.LogFactory;
-import org.apache.tomcat.util.res.StringManager;
-
 public class ByteBufferUtils {
 
-private static final StringManager sm = 
StringManager.getManager(ByteBufferUtils.class);
-private static final Log log = LogFactory.getLog(ByteBufferUtils.class);
-
-private static final Object unsafe;
-private static final Method invokeCleanerMethod;
-
-static {
-ByteBuffer tempBuffer = ByteBuffer.allocateDirect(0);
-Object unsafeLocal = null;
-Method invokeCleanerMethodLocal = null;
-try {
-Class clazz = Class.forName("sun.misc.Unsafe");
-Field theUnsafe = clazz.getDeclaredField("theUnsafe");
-theUnsafe.setAccessible(true);
-unsafeLocal = theUnsafe.get(null);
-invokeCleanerMethodLocal = clazz.getMethod("invokeCleaner", 
ByteBuffer.class);
-invokeCleanerMethodLocal.invoke(unsafeLocal, tempBuffer);
-} catch (IllegalAccessException | IllegalArgumentException | 
InvocationTargetException | NoSuchMethodException |
-SecurityException | ClassNotFoundException | 
NoSuchFieldException e) {
-log.warn(sm.getString("byteBufferUtils.cleaner"), e);
-unsafeLocal = null;
-invokeCleanerMethodLocal = null;
-}
-unsafe = unsafeLocal;
-invokeCleanerMethod = invokeCleanerMethodLocal;
-}
-
 private ByteBufferUtils() {
 // Hide the default constructor since this is a utility class.
 }
@@ -96,19 +62,10 @@ public class ByteBufferUtils {
 
 /**
  * Clean specified direct buffer. This will cause an unavoidable warning 
on Java 24 and newer.
+ *
  * @param buf the buffer to clean
  */
 public static void cleanDirectBuffer(ByteBuffer buf) {
-if (invokeCleanerMethod != null) {
-try {
-invokeCleanerMethod.invoke(unsafe, buf);
-} catch (IllegalAccessException | IllegalArgumentException | 
InvocationTargetException |
-SecurityException e) {
-if (log.isDebugEnabled()) {
-log.debug(sm.getString("byteBufferUtils.cleaner"), e);
-}
-}
-}
+ByteBufferUtilsUnsafe.cleanDirectBuffer(buf);
 }
-
 }
diff --git a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java 
b/java/org/apache/tomcat/util/buf/ByteBufferUtilsUnsafe.java
similarity index 71%
copy from java/org/apache/tomcat/util/buf/ByteBufferUtils.java
copy to java/org/apache/tomcat/util/buf/ByteBufferUtilsUnsafe.java
index 6ae744db2a..61384a726f 100644
--- a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
+++ b/java/org/apache/tomcat/util/buf/ByteBufferUtilsUnsafe.java
@@ -25,10 +25,14 @@ import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.res.StringManager;
 
-public class ByteBufferUtils {
+/*
+ * This functionality is in a separate class so it is only loaded if 
cleanDirectBuffer() is called. This is because the
+ * use of unsafe triggers an unavoidable warning with Java 24.
+ */
+class ByteBufferUtilsUnsafe {
 
-private static final StringManager sm = 
StringManager.getManager(ByteBufferUtils.class);
-private static final Log log = LogFactory.getLog(ByteBufferUtils.class);
+private static final StringManager sm = 
StringManager.getManager(ByteBufferUtilsUnsafe.class);
+private static final

(tomcat) branch main updated: Fix BZ 69559 - Avoid 24 warning when not relevant

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

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


The following commit(s) were added to refs/heads/main by this push:
 new 68ec5edf3e Fix BZ 69559 - Avoid 24 warning when not relevant
68ec5edf3e is described below

commit 68ec5edf3e3ecd2b516f871919e167d7036191f1
Author: Mark Thomas 
AuthorDate: Mon Feb 3 15:40:36 2025 +

Fix BZ 69559 - Avoid 24 warning when not relevant

Ensure that the Java 24 warning regarding the of
sun.misc.Unsafe::invokeCleaner is only reported by the JRE when the code
will be used.

https://bz.apache.org/bugzilla/show_bug.cgi?id=69559
---
 .../apache/tomcat/util/buf/ByteBufferUtils.java| 47 +---
 ...BufferUtils.java => ByteBufferUtilsUnsafe.java} | 50 +-
 webapps/docs/changelog.xml |  5 +++
 3 files changed, 17 insertions(+), 85 deletions(-)

diff --git a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java 
b/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
index 6ae744db2a..3ad2b51864 100644
--- a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
+++ b/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
@@ -16,44 +16,10 @@
  */
 package org.apache.tomcat.util.buf;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.nio.ByteBuffer;
 
-import org.apache.juli.logging.Log;
-import org.apache.juli.logging.LogFactory;
-import org.apache.tomcat.util.res.StringManager;
-
 public class ByteBufferUtils {
 
-private static final StringManager sm = 
StringManager.getManager(ByteBufferUtils.class);
-private static final Log log = LogFactory.getLog(ByteBufferUtils.class);
-
-private static final Object unsafe;
-private static final Method invokeCleanerMethod;
-
-static {
-ByteBuffer tempBuffer = ByteBuffer.allocateDirect(0);
-Object unsafeLocal = null;
-Method invokeCleanerMethodLocal = null;
-try {
-Class clazz = Class.forName("sun.misc.Unsafe");
-Field theUnsafe = clazz.getDeclaredField("theUnsafe");
-theUnsafe.setAccessible(true);
-unsafeLocal = theUnsafe.get(null);
-invokeCleanerMethodLocal = clazz.getMethod("invokeCleaner", 
ByteBuffer.class);
-invokeCleanerMethodLocal.invoke(unsafeLocal, tempBuffer);
-} catch (IllegalAccessException | IllegalArgumentException | 
InvocationTargetException | NoSuchMethodException |
-SecurityException | ClassNotFoundException | 
NoSuchFieldException e) {
-log.warn(sm.getString("byteBufferUtils.cleaner"), e);
-unsafeLocal = null;
-invokeCleanerMethodLocal = null;
-}
-unsafe = unsafeLocal;
-invokeCleanerMethod = invokeCleanerMethodLocal;
-}
-
 private ByteBufferUtils() {
 // Hide the default constructor since this is a utility class.
 }
@@ -96,19 +62,10 @@ public class ByteBufferUtils {
 
 /**
  * Clean specified direct buffer. This will cause an unavoidable warning 
on Java 24 and newer.
+ *
  * @param buf the buffer to clean
  */
 public static void cleanDirectBuffer(ByteBuffer buf) {
-if (invokeCleanerMethod != null) {
-try {
-invokeCleanerMethod.invoke(unsafe, buf);
-} catch (IllegalAccessException | IllegalArgumentException | 
InvocationTargetException |
-SecurityException e) {
-if (log.isDebugEnabled()) {
-log.debug(sm.getString("byteBufferUtils.cleaner"), e);
-}
-}
-}
+ByteBufferUtilsUnsafe.cleanDirectBuffer(buf);
 }
-
 }
diff --git a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java 
b/java/org/apache/tomcat/util/buf/ByteBufferUtilsUnsafe.java
similarity index 71%
copy from java/org/apache/tomcat/util/buf/ByteBufferUtils.java
copy to java/org/apache/tomcat/util/buf/ByteBufferUtilsUnsafe.java
index 6ae744db2a..61384a726f 100644
--- a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
+++ b/java/org/apache/tomcat/util/buf/ByteBufferUtilsUnsafe.java
@@ -25,10 +25,14 @@ import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.res.StringManager;
 
-public class ByteBufferUtils {
+/*
+ * This functionality is in a separate class so it is only loaded if 
cleanDirectBuffer() is called. This is because the
+ * use of unsafe triggers an unavoidable warning with Java 24.
+ */
+class ByteBufferUtilsUnsafe {
 
-private static final StringManager sm = 
StringManager.getManager(ByteBufferUtils.class);
-private static final Log log = LogFactory.getLog(ByteBufferUtils.class);
+private static final StringManager sm = 
StringManager.getManager(ByteBufferUtilsUnsafe.class);
+private static final Log

(tomcat) branch 10.1.x updated: Fix BZ 69559 - Avoid 24 warning when not relevant

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

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


The following commit(s) were added to refs/heads/10.1.x by this push:
 new aab33c8373 Fix BZ 69559 - Avoid 24 warning when not relevant
aab33c8373 is described below

commit aab33c8373b796e691623d42c6f1ed02d3dbbf68
Author: Mark Thomas 
AuthorDate: Mon Feb 3 15:40:36 2025 +

Fix BZ 69559 - Avoid 24 warning when not relevant

Ensure that the Java 24 warning regarding the of
sun.misc.Unsafe::invokeCleaner is only reported by the JRE when the code
will be used.

https://bz.apache.org/bugzilla/show_bug.cgi?id=69559
---
 .../apache/tomcat/util/buf/ByteBufferUtils.java| 47 +---
 ...BufferUtils.java => ByteBufferUtilsUnsafe.java} | 50 +-
 webapps/docs/changelog.xml |  5 +++
 3 files changed, 17 insertions(+), 85 deletions(-)

diff --git a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java 
b/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
index 6ae744db2a..3ad2b51864 100644
--- a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
+++ b/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
@@ -16,44 +16,10 @@
  */
 package org.apache.tomcat.util.buf;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.nio.ByteBuffer;
 
-import org.apache.juli.logging.Log;
-import org.apache.juli.logging.LogFactory;
-import org.apache.tomcat.util.res.StringManager;
-
 public class ByteBufferUtils {
 
-private static final StringManager sm = 
StringManager.getManager(ByteBufferUtils.class);
-private static final Log log = LogFactory.getLog(ByteBufferUtils.class);
-
-private static final Object unsafe;
-private static final Method invokeCleanerMethod;
-
-static {
-ByteBuffer tempBuffer = ByteBuffer.allocateDirect(0);
-Object unsafeLocal = null;
-Method invokeCleanerMethodLocal = null;
-try {
-Class clazz = Class.forName("sun.misc.Unsafe");
-Field theUnsafe = clazz.getDeclaredField("theUnsafe");
-theUnsafe.setAccessible(true);
-unsafeLocal = theUnsafe.get(null);
-invokeCleanerMethodLocal = clazz.getMethod("invokeCleaner", 
ByteBuffer.class);
-invokeCleanerMethodLocal.invoke(unsafeLocal, tempBuffer);
-} catch (IllegalAccessException | IllegalArgumentException | 
InvocationTargetException | NoSuchMethodException |
-SecurityException | ClassNotFoundException | 
NoSuchFieldException e) {
-log.warn(sm.getString("byteBufferUtils.cleaner"), e);
-unsafeLocal = null;
-invokeCleanerMethodLocal = null;
-}
-unsafe = unsafeLocal;
-invokeCleanerMethod = invokeCleanerMethodLocal;
-}
-
 private ByteBufferUtils() {
 // Hide the default constructor since this is a utility class.
 }
@@ -96,19 +62,10 @@ public class ByteBufferUtils {
 
 /**
  * Clean specified direct buffer. This will cause an unavoidable warning 
on Java 24 and newer.
+ *
  * @param buf the buffer to clean
  */
 public static void cleanDirectBuffer(ByteBuffer buf) {
-if (invokeCleanerMethod != null) {
-try {
-invokeCleanerMethod.invoke(unsafe, buf);
-} catch (IllegalAccessException | IllegalArgumentException | 
InvocationTargetException |
-SecurityException e) {
-if (log.isDebugEnabled()) {
-log.debug(sm.getString("byteBufferUtils.cleaner"), e);
-}
-}
-}
+ByteBufferUtilsUnsafe.cleanDirectBuffer(buf);
 }
-
 }
diff --git a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java 
b/java/org/apache/tomcat/util/buf/ByteBufferUtilsUnsafe.java
similarity index 71%
copy from java/org/apache/tomcat/util/buf/ByteBufferUtils.java
copy to java/org/apache/tomcat/util/buf/ByteBufferUtilsUnsafe.java
index 6ae744db2a..61384a726f 100644
--- a/java/org/apache/tomcat/util/buf/ByteBufferUtils.java
+++ b/java/org/apache/tomcat/util/buf/ByteBufferUtilsUnsafe.java
@@ -25,10 +25,14 @@ import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.res.StringManager;
 
-public class ByteBufferUtils {
+/*
+ * This functionality is in a separate class so it is only loaded if 
cleanDirectBuffer() is called. This is because the
+ * use of unsafe triggers an unavoidable warning with Java 24.
+ */
+class ByteBufferUtilsUnsafe {
 
-private static final StringManager sm = 
StringManager.getManager(ByteBufferUtils.class);
-private static final Log log = LogFactory.getLog(ByteBufferUtils.class);
+private static final StringManager sm = 
StringManager.getManager(ByteBufferUtilsUnsafe.class);
+private static final

Re: [PR] clean up org.apache.tomcat.util.http RequestUtil [tomcat]

2025-02-03 Thread via GitHub


koust6u commented on code in PR #818:
URL: https://github.com/apache/tomcat/pull/818#discussion_r1939607782


##
test/org/apache/tomcat/util/http/TestRequestUtilSameOrigin.java:
##
@@ -42,6 +42,8 @@ public static Collection parameters() {
 TesterRequest request2 = new TesterRequest("ws", "example.com", 80);
 TesterRequest request3 = new TesterRequest("http", "example.com", 443);
 TesterRequest request4 = new TesterRequest("http", "example.com", 
8080);
+TesterRequest request5 = new TesterRequest(null, "exmaple.com", 80);

Review Comment:
   thank you



-- 
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] certificate regression [tomcat]

2025-02-03 Thread via GitHub


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

   > @rmaucher This is something worth mentioning in 
https://tomcat.apache.org/migration-9.html#Tomcat_9.0.x_noteable_changes for 
9.0.83 and similar releases in the other branches.
   
   It's in the Tomcat 12 specific portion of the changelog and I think it will 
get into the migration documentation when it's time to compile it.
   I will work around the NPE, but not in a way that could cause the security 
scanners to complain again.


-- 
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] Replace \r\n with SimpleHttpClient.CRLF in Http2TestBase & Cleanup RequestUtil [tomcat]

2025-02-03 Thread via GitHub


koust6u closed pull request #817: Replace \r\n with SimpleHttpClient.CRLF in 
Http2TestBase & Cleanup RequestUtil
URL: https://github.com/apache/tomcat/pull/817


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



[PR] clean up org.apache.tomcat.util.http RequestUtil [tomcat]

2025-02-03 Thread via GitHub


koust6u opened a new pull request, #818:
URL: https://github.com/apache/tomcat/pull/818

   (no comment)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

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

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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



[Bug 69532] Performance optimization in Util.getExpressionFactory()

2025-02-03 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=69532

Matafagafo  changed:

   What|Removed |Added

 CC||matafag...@gmail.com

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



Re: [PR] Fix null stream issue for resource loading based on relative paths [tomcat]

2025-02-03 Thread via GitHub


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

   `getResourceAsStream()` is documented to accept a name, not a URL. I'd like 
to understand the use case better before making any changes. Can you provide 
some sample code or a test case or something similar?


-- 
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] certificate regression [tomcat]

2025-02-03 Thread via GitHub


Dmole commented on PR #815:
URL: https://github.com/apache/tomcat/pull/815#issuecomment-2631122523

   When editing the documentation please explain how requiring an empty 
password, in a text file, in an unrelated attribute, qualifies as security, and 
not just obscurity.


-- 
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: Tomcat 9 extended support

2025-02-03 Thread Christopher Schultz

Mark,

On 1/30/25 11:50 AM, Mark Thomas wrote:
We have discussed plans for extended Tomcat 9 support several times. It 
is still probably a couple of years away but I thought it would be worth 
starting the discussion again.


There are a wide range of options. This is a brain dump of the questions 
I have been mulling over when considering options.

> > 1. Extended support requires back-porting of security fixes. What else

do we want to back-port. Bug fixes? New features?

2. Do we want to continue to support the APR connector? If we decide no, 
we can also stop supporting Tomcat Native 1.x. Equally, if we keep APR 
we'll need to keep making Native 1.x releases to pick up OpenSSL updates.


See my response to #5 below.

3. What minimum version of Java do we want to support? Stick with Java 
8? Increase the minimum version in line with availability of free 
supported JREs (e.g. from Temurin)? Something else?


There are some shops who are petrified to change *anything* including 
the JVM running their old servlet containers. Sure, some minor things 
have changed within the JVM itself but really things should mostly work 
with Java 24 that were working in Java 8. The biggest headache I've seen 
has been adding --adds-opens and things like that to keep things working.


4. Do we cancel plans for extended Tomcat 9 support? (I'm not a fan of 
this.)


-0.5


5. Do we effectively just continue with 9.0.x or create 9.?.x?


My first question would be "what guarantees have we made for Tomcat 
9.0.x that we might want to adjust, requiring a 9.1.x or similar?" I 
know some of these "guarantees" might actually be more traditions and 
not policies, but I would guess that downstream users have come to 
expect certain things from this project, and I believe we should 
continue to honor those traditions.


6. Do we continue from 9.0.x or do we start from 10.1.x and revert the 
Jakarta EE API changes?


I don't think I can make a useful contribution this decision.

I suspect the folks that want extended 9.0.x support also want minimal 
changes. If we do plan on changing things (minimum Java version, 
dropping APR) we should provide plenty of notice.


The two available migration tools (Tomcat and Eclipse) are quite good, 
though I haven't used them extensively. The fact that you should be able 
to deploy a JavaEE web application into Tomcat 10 or later should be the 
preferred upgrade path for anyone who doesn't want to actually port 
their application.


I would consider it a bug if Tomcat's migration tool wouldn't allow an 
application to be deployed into Tomcat 10+ and continue to work, barring 
any API incompatibilities. Such incompatibilities are currently minimal 
but will grow over time. Fortunately, search-and-replace on a code base 
should effectively perform the same duty on source that Tomcat performs 
on binaries. Is there any reason the Tomcat Migration Tool couldn't be 
used on *source* artifacts?


When do we think extended support will start? My best guess is no 
earlier than 31 March 2027.


This will mostly be tied to the next Jakarta EE release / Tomcat 12, right?

-chris


-
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: Improvements to Chinese translations by leeyazhou.

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

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


The following commit(s) were added to refs/heads/11.0.x by this push:
 new 516361127a Improvements to Chinese translations by leeyazhou.
516361127a is described below

commit 516361127a2e32d05fe3f6a74283fa02f1292270
Author: Mark Thomas 
AuthorDate: Mon Feb 3 16:47:41 2025 +

Improvements to Chinese translations by leeyazhou.
---
 java/jakarta/el/LocalStrings_zh_CN.properties  |  1 +
 .../authenticator/LocalStrings_zh_CN.properties|  3 +
 .../connector/LocalStrings_zh_CN.properties|  2 +
 .../catalina/core/LocalStrings_zh_CN.properties|  4 ++
 .../catalina/filters/LocalStrings_zh_CN.properties |  1 +
 .../manager/host/LocalStrings_zh_CN.properties |  1 +
 .../servlets/LocalStrings_zh_CN.properties |  2 +
 .../catalina/startup/LocalStrings_zh_CN.properties |  1 +
 .../coyote/http11/LocalStrings_zh_CN.properties|  1 +
 .../http11/filters/LocalStrings_zh_CN.properties   |  2 +
 .../coyote/http2/LocalStrings_zh_CN.properties |  1 +
 .../jasper/resources/LocalStrings_zh_CN.properties |  2 +
 .../tomcat/util/buf/LocalStrings_zh_CN.properties  |  3 +
 .../tomcat/util/http/LocalStrings_zh_CN.properties |  1 +
 .../util/http/parser/LocalStrings_zh_CN.properties |  1 +
 .../openssl/ciphers/LocalStrings_zh_CN.properties  |  1 +
 .../openssl/panama/LocalStrings_zh_CN.properties   | 66 ++
 .../util/threads/LocalStrings_zh_CN.properties |  4 ++
 .../tomcat/websocket/LocalStrings_zh_CN.properties |  2 +
 webapps/docs/changelog.xml |  3 +
 20 files changed, 102 insertions(+)

diff --git a/java/jakarta/el/LocalStrings_zh_CN.properties 
b/java/jakarta/el/LocalStrings_zh_CN.properties
index 42ebf53764..950aa579dc 100644
--- a/java/jakarta/el/LocalStrings_zh_CN.properties
+++ b/java/jakarta/el/LocalStrings_zh_CN.properties
@@ -46,6 +46,7 @@ propertyNotReadable=属性 [{1}] 在类型 [{0}] 上不可读
 propertyNotWritable=属性 [{1}] 在类型 [{0}] 上不可写
 propertyReadError=在类型 [{0}] 上读取 [{1}] 时出错
 propertyWriteError=在类型 [{0}] 上写入 [{1}] 时出错
+resolverNotWritable=类型[{0}]的ELResolver不可写入
 
 staticFieldELResolver.methodNotFound=在类 [{1}] 上,找不到名为 [{0}] 的匹配公共静态方法
 staticFieldELResolver.notFound=在(导出的 Java 9+ )类 [{1}] 上找不到名为 [{0}] 的公共静态字段
diff --git 
a/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties 
b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
index 63b4942eca..7010a2b9ee 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
@@ -16,6 +16,8 @@
 # Do not edit this file directly.
 # To edit translations see: 
https://tomcat.apache.org/getinvolved.html#Translations
 
+authenticator.authentication=认证类型为[{1}]的认证主体[{0}]
+authenticator.authenticationFail=用户认证失败
 authenticator.certificates=此请求中没有客户端证书链
 authenticator.changeSessionId=在身份验证时, 会话 ID 从 [{0}] 更改为 [{1}]
 authenticator.check.authorize=用户名[{0}]从连接器获得,并被信任为有效。从Tomcat领域获取此用户的角色。
@@ -32,6 +34,7 @@ authenticator.noAuthHeader=客户端未发送授权请求头
 authenticator.notContext=配置错误:必须被附属于一个上下文
 authenticator.requestBodyTooBig=请求正文太大,无法在身份验证过程中进行缓存
 authenticator.sessionExpired=已超出登录过程所允许的时间。 
如果您希望继续,则必须单击两次后退并重新单击您请求的链接或先关闭然后重新打开浏览器
+authenticator.sso=找到SSO [{0}]
 authenticator.tomcatPrincipalLogoutFail=使用TomcatPrincipal实例注销失败
 authenticator.unauthorized=无法使用提供的凭据进行身份验证
 
diff --git a/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties 
b/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
index 8d0aa813f6..b6e8d956cf 100644
--- a/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
@@ -41,6 +41,7 @@ coyoteConnector.protocolHandlerResumeFailed=协议处理程序恢复失败
 coyoteConnector.protocolHandlerStartFailed=协议处理器启动失败
 coyoteConnector.protocolHandlerStopFailed=协议处理程序.停止失败
 
+coyoteInputStream.blockingOnly=当输入流是非阻塞模式时可能不会调用这个方法(也就是配置了ReadListener之后)
 coyoteInputStream.nbNotready=在非阻塞模式下,只有之前的读数据完成,并且isReady()方法返回true,你才可以使用 
ServletInputStream 读取数据
 coyoteInputStream.null=输入缓冲对象已被回收,不再与此外观关联\n
 
@@ -52,6 +53,7 @@ coyoteRequest.attributeEvent=属性事件侦听器引发的异常
 coyoteRequest.authenticate.ise=):提交响应后无法调用authenticate()
 coyoteRequest.changeSessionId=无法更改 session ID。 没有与此请求关联的 session。
 
coyoteRequest.chunkedPostTooLarge=由于请求参数数据太大,导致参数不能解析。因为当前请求是块状请求,后续也不会处理。如果应用程序需要接收大的POST请求,可以使用连接器的maxPostSize解决它。
+coyoteRequest.deletePartFailed=删除[{0}]部分的临时文件失败
 coyoteRequest.filterAsyncSupportUnknown=无法确定是否有任何过滤器不支持异步处理
 coyoteRequest.getContextPath.ise=找不到规范上下文路径[{0}]与用户代理[{1}]提供的URI之间的匹配项。
 coyoteRequest.getInputStream.ise=已为此请求调用getReader()
diff --git a/java/org/apache/catalina/core/LocalStrings_zh_CN.properties 
b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
index 83efadec0a..1c6f1d6124 100644
--- a/java/org/apache/catali

(tomcat) branch 10.1.x updated (aab33c8373 -> 6d890d4f50)

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

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


from aab33c8373 Fix BZ 69559 - Avoid 24 warning when not relevant
 new e4d9aaf058 Refactor into more, shorter tests to aid parallel test 
execution
 new 6d890d4f50 Improvements to French translations. (remm)

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/startup/LocalStrings_fr.properties|   1 +
 ... => HostConfigAutomaticDeploymentBaseTest.java} | 866 +++--
 .../TestHostConfigAutomaticDeploymentA.java| 482 
 .../TestHostConfigAutomaticDeploymentAddition.java | 182 +
 .../TestHostConfigAutomaticDeploymentB.java| 687 
 ...estHostConfigAutomaticDeploymentBrokenApp.java} |  22 +-
 .../TestHostConfigAutomaticDeploymentC8.java   | 504 
 ...tConfigAutomaticDeploymentContextClassName.java |  62 ++
 .../TestHostConfigAutomaticDeploymentCopyXML.java  |  71 ++
 .../TestHostConfigAutomaticDeploymentDeleteA.java  |  62 ++
 .../TestHostConfigAutomaticDeploymentDeleteB.java  | 113 +++
 .../TestHostConfigAutomaticDeploymentDeleteC.java  | 101 +++
 .../TestHostConfigAutomaticDeploymentDir.java  |  89 +++
 .../TestHostConfigAutomaticDeploymentDirXml.java   |  91 +++
 ...tHostConfigAutomaticDeploymentModification.java | 167 
 ...TestHostConfigAutomaticDeploymentUnpackWAR.java |  71 ++
 ...tConfigAutomaticDeploymentUpdateWarOffline.java |  73 ++
 .../TestHostConfigAutomaticDeploymentWar.java  |  90 +++
 .../TestHostConfigAutomaticDeploymentWarXml.java   |  94 +++
 .../TestHostConfigAutomaticDeploymentXml.java  |  91 +++
 ...ConfigAutomaticDeploymentXmlExternalDirXml.java | 102 +++
 ...ConfigAutomaticDeploymentXmlExternalWarXml.java | 105 +++
 webapps/docs/changelog.xml |   3 +
 23 files changed, 2363 insertions(+), 1766 deletions(-)
 rename 
test/org/apache/catalina/startup/{TestHostConfigAutomaticDeploymentC.java => 
HostConfigAutomaticDeploymentBaseTest.java} (52%)
 delete mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentA.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentAddition.java
 delete mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentB.java
 copy test/{jakarta/servlet/http/TestCookieRFC6265Validator.java => 
org/apache/catalina/startup/TestHostConfigAutomaticDeploymentBrokenApp.java} 
(63%)
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentC8.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentContextClassName.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentCopyXML.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDeleteA.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDeleteB.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDeleteC.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDir.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDirXml.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentModification.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentUnpackWAR.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentUpdateWarOffline.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentWar.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentWarXml.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentXml.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentXmlExternalDirXml.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentXmlExternalWarXml.java


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



(tomcat) 02/02: Improvements to French translations. (remm)

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

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

commit 6d890d4f50237b7e3b4fb9dba3488c6c6f3c2fbe
Author: Mark Thomas 
AuthorDate: Mon Feb 3 16:50:47 2025 +

Improvements to French translations. (remm)
---
 java/org/apache/catalina/startup/LocalStrings_fr.properties | 1 +
 webapps/docs/changelog.xml  | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/java/org/apache/catalina/startup/LocalStrings_fr.properties 
b/java/org/apache/catalina/startup/LocalStrings_fr.properties
index 5d15950742..e385e85753 100644
--- a/java/org/apache/catalina/startup/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_fr.properties
@@ -75,6 +75,7 @@ contextConfig.invalidSciHandlesTypes=Impossible de charger la 
classe [{0}] pour
 contextConfig.jarFile=Impossible de traiter les annotations du JAR [{0}]
 contextConfig.jspFile.error=Le fichier JSP [{0}] doit commencer par un ''/''
 contextConfig.jspFile.warning=WARNING : Le fichier JSP [{0}] doit commencer 
par un  ''/'' dans l''API Servlet 2.4
+contextConfig.loadError=Erreur lors du chargement du code généré
 contextConfig.missingRealm=Aucun royaume (realm) n'a été configuré pour 
réaliser l'authentification
 contextConfig.noAntiLocking=La valeur [{0}] configurée pour java.io.tmpdir ne 
correspond pas à un répertoire valide, le paramètre antiResourceLocking 
configuré pour l''application [{1}] sera ignoré
 contextConfig.noJsp=Le groupe de propriétés JSP pour l''URL [{0}] sera sauté, 
le Servlet JSP avec le nom [{1}] n''a pas été trouvé
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 1a98e45960..1cdde8d838 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -301,6 +301,9 @@
   
 Update JSign to 7.0. (markt)
   
+  
+Improvements to French translations. (remm)
+  
 
   
 


-
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: Improvements to Japanese translations by tak7iji.

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

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


The following commit(s) were added to refs/heads/10.1.x by this push:
 new bb82e3c039 Improvements to Japanese translations by tak7iji.
bb82e3c039 is described below

commit bb82e3c03944536e8fddc5b13c9f198eb8ff0e04
Author: Mark Thomas 
AuthorDate: Mon Feb 3 16:54:26 2025 +

Improvements to Japanese translations by tak7iji.
---
 java/org/apache/catalina/ha/session/LocalStrings_ja.properties | 4 ++--
 java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties | 2 +-
 java/org/apache/catalina/startup/LocalStrings_ja.properties| 1 +
 webapps/docs/changelog.xml | 3 +++
 4 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/java/org/apache/catalina/ha/session/LocalStrings_ja.properties 
b/java/org/apache/catalina/ha/session/LocalStrings_ja.properties
index 35a471cbc4..15634103cb 100644
--- a/java/org/apache/catalina/ha/session/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/ha/session/LocalStrings_ja.properties
@@ -31,7 +31,7 @@ deltaManager.createMessage.allSessionData=マネージャ [{0}] はすべての
 deltaManager.createMessage.allSessionTransferred=マネージャ [{0}] 
はすべてのセッションデータ転送を送信しました
 deltaManager.createMessage.delta=マネージャ [{0}]: セッション [{1}] のデルタリクエストメッセージを作成します
 deltaManager.createMessage.expire=マネージャ [{0}]: セッション [{1}] 
のセッションの期限切れメッセージを作成します
-deltaManager.createMessage.unableCreateDeltaRequest=セッションID 
[{0}]のDeltaRequestシリアライズできません。
+deltaManager.createMessage.unableCreateDeltaRequest=セッションID [{0}] の 
DeltaRequest がシリアライズできません
 deltaManager.createSession.newSession=DeltaSession (ID は [{0}]) を作成しました。総数は 
[{1}] です。
 deltaManager.dropMessage=マネージャ [{0}]: GET_ALL_SESSIONS同期フェーズの開始日 [{2}] 
メッセージの日付 [{3}] 内のメッセージ [{1}] をドロップします
 deltaManager.expireSessions=シャットダウン時にマネージャ [{0}] はセッションを満了します
@@ -91,5 +91,5 @@ jvmRoute.valve.started=JvmRouteBinderValve が起動しました。
 jvmRoute.valve.stopped=JvmRouteBinderValve が停止しました。
 
 standardSession.notSerializable=セッション[{1}]のセッション属性[{0}]をシリアライズできません。
-standardSession.removeAttribute.ise=removeAttribute: Session already 
invalidated
+standardSession.removeAttribute.ise=removeAttribute: セッションは既に無効化されています
 standardSession.setAttribute.namenull=setAttribute:nameパラメータをnullにすることはできません。
diff --git a/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties 
b/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
index 50aedc2917..2491777260 100644
--- a/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
@@ -24,7 +24,7 @@ ReplicationValve.filter.failure=フィルター文字列=[{0}] がコンパイ
 ReplicationValve.filter.loading=リクエストフィルタ= [{0}]のロード
 ReplicationValve.invoke.uri=[{0}]のレプリケーションリクエストを呼び出します。
 ReplicationValve.nocluster=このリクエストに対して構成されたクラスタはありません。
-ReplicationValve.resetDeltaRequest=クラスタはスタンドアロンである:コンテキスト [{0}] 
でセッションのデルタリクエストをリセットします
+ReplicationValve.resetDeltaRequest=クラスタはスタンドアロンです:コンテキスト [{0}] 
でセッションのデルタリクエストをリセットします
 ReplicationValve.send.failure=レプリケーションリクエストを実行できません。
 ReplicationValve.send.invalid.failure=セッション[id = {0}]無効メッセージをクラスタに送信できません。
 ReplicationValve.session.found=コンテキスト [{0}]: セッション [{1}] 
は見つかりましたが、クラスターセッションではありません
diff --git a/java/org/apache/catalina/startup/LocalStrings_ja.properties 
b/java/org/apache/catalina/startup/LocalStrings_ja.properties
index 26e940b627..3564fb98bc 100644
--- a/java/org/apache/catalina/startup/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_ja.properties
@@ -75,6 +75,7 @@ 
contextConfig.invalidSciHandlesTypes=1つ以上のServletContentInitializersの@
 contextConfig.jarFile=Jar [{0}] のアノテーションを処理できません
 contextConfig.jspFile.error=JSPファイル [{0}] は''/''で始まらなければいけません
 contextConfig.jspFile.warning=警告: Servlet 2.4ではJSPファイル [{0}] 
は''/''で始まらなければいけません
+contextConfig.loadError=生成されたコードのロード中にエラーが発生しました
 contextConfig.missingRealm=認証するためにレルムが設定されていません
 contextConfig.noAntiLocking=java.io.tmpdirに設定された値[{0}]が有効なディレクトリを指していません。 
Webアプリケーション[{1}]のantiResourceLocking設定は無視されます。
 contextConfig.noJsp=URL [{0}] の JSP プロパティ グループをスキップしています。名前 [{1}] の JSP 
サーブレットが見つかりません
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 1cdde8d838..4aea20891f 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -304,6 +304,9 @@
   
 Improvements to French translations. (remm)
   
+  
+Improvements to Japanese translations by tak7iji. (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: Improvements to Chinese translations by leeyazhou.

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

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


The following commit(s) were added to refs/heads/10.1.x by this push:
 new 98ab5cdc81 Improvements to Chinese translations by leeyazhou.
98ab5cdc81 is described below

commit 98ab5cdc8187dda898df7713ebb5b48de3e79d42
Author: Mark Thomas 
AuthorDate: Mon Feb 3 16:55:10 2025 +

Improvements to Chinese translations by leeyazhou.
---
 java/jakarta/el/LocalStrings_zh_CN.properties  |  1 +
 .../authenticator/LocalStrings_zh_CN.properties|  3 +
 .../connector/LocalStrings_zh_CN.properties|  1 +
 .../catalina/core/LocalStrings_zh_CN.properties|  4 ++
 .../catalina/filters/LocalStrings_zh_CN.properties |  1 +
 .../manager/host/LocalStrings_zh_CN.properties |  1 +
 .../catalina/startup/LocalStrings_zh_CN.properties |  1 +
 .../coyote/http11/LocalStrings_zh_CN.properties|  1 +
 .../http11/filters/LocalStrings_zh_CN.properties   |  2 +
 .../coyote/http2/LocalStrings_zh_CN.properties |  1 +
 .../jasper/resources/LocalStrings_zh_CN.properties |  2 +
 .../tomcat/util/buf/LocalStrings_zh_CN.properties  |  3 +
 .../tomcat/util/http/LocalStrings_zh_CN.properties |  1 +
 .../util/http/parser/LocalStrings_zh_CN.properties |  1 +
 .../openssl/ciphers/LocalStrings_zh_CN.properties  |  1 +
 .../openssl/panama/LocalStrings_zh_CN.properties   | 66 ++
 .../util/threads/LocalStrings_zh_CN.properties |  4 ++
 .../tomcat/websocket/LocalStrings_zh_CN.properties |  2 +
 webapps/docs/changelog.xml |  3 +
 19 files changed, 99 insertions(+)

diff --git a/java/jakarta/el/LocalStrings_zh_CN.properties 
b/java/jakarta/el/LocalStrings_zh_CN.properties
index 42ebf53764..950aa579dc 100644
--- a/java/jakarta/el/LocalStrings_zh_CN.properties
+++ b/java/jakarta/el/LocalStrings_zh_CN.properties
@@ -46,6 +46,7 @@ propertyNotReadable=属性 [{1}] 在类型 [{0}] 上不可读
 propertyNotWritable=属性 [{1}] 在类型 [{0}] 上不可写
 propertyReadError=在类型 [{0}] 上读取 [{1}] 时出错
 propertyWriteError=在类型 [{0}] 上写入 [{1}] 时出错
+resolverNotWritable=类型[{0}]的ELResolver不可写入
 
 staticFieldELResolver.methodNotFound=在类 [{1}] 上,找不到名为 [{0}] 的匹配公共静态方法
 staticFieldELResolver.notFound=在(导出的 Java 9+ )类 [{1}] 上找不到名为 [{0}] 的公共静态字段
diff --git 
a/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties 
b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
index 63b4942eca..7010a2b9ee 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
@@ -16,6 +16,8 @@
 # Do not edit this file directly.
 # To edit translations see: 
https://tomcat.apache.org/getinvolved.html#Translations
 
+authenticator.authentication=认证类型为[{1}]的认证主体[{0}]
+authenticator.authenticationFail=用户认证失败
 authenticator.certificates=此请求中没有客户端证书链
 authenticator.changeSessionId=在身份验证时, 会话 ID 从 [{0}] 更改为 [{1}]
 authenticator.check.authorize=用户名[{0}]从连接器获得,并被信任为有效。从Tomcat领域获取此用户的角色。
@@ -32,6 +34,7 @@ authenticator.noAuthHeader=客户端未发送授权请求头
 authenticator.notContext=配置错误:必须被附属于一个上下文
 authenticator.requestBodyTooBig=请求正文太大,无法在身份验证过程中进行缓存
 authenticator.sessionExpired=已超出登录过程所允许的时间。 
如果您希望继续,则必须单击两次后退并重新单击您请求的链接或先关闭然后重新打开浏览器
+authenticator.sso=找到SSO [{0}]
 authenticator.tomcatPrincipalLogoutFail=使用TomcatPrincipal实例注销失败
 authenticator.unauthorized=无法使用提供的凭据进行身份验证
 
diff --git a/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties 
b/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
index 8d0aa813f6..601ca4655c 100644
--- a/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
@@ -52,6 +52,7 @@ coyoteRequest.attributeEvent=属性事件侦听器引发的异常
 coyoteRequest.authenticate.ise=):提交响应后无法调用authenticate()
 coyoteRequest.changeSessionId=无法更改 session ID。 没有与此请求关联的 session。
 
coyoteRequest.chunkedPostTooLarge=由于请求参数数据太大,导致参数不能解析。因为当前请求是块状请求,后续也不会处理。如果应用程序需要接收大的POST请求,可以使用连接器的maxPostSize解决它。
+coyoteRequest.deletePartFailed=删除[{0}]部分的临时文件失败
 coyoteRequest.filterAsyncSupportUnknown=无法确定是否有任何过滤器不支持异步处理
 coyoteRequest.getContextPath.ise=找不到规范上下文路径[{0}]与用户代理[{1}]提供的URI之间的匹配项。
 coyoteRequest.getInputStream.ise=已为此请求调用getReader()
diff --git a/java/org/apache/catalina/core/LocalStrings_zh_CN.properties 
b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
index 78cfc9db90..8a4855fdcd 100644
--- a/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
@@ -128,6 +128,8 @@ containerBase.realm.stop=停止旧域时出错
 containerBase.threadedStartFailed=子容器启动失败
 containerBase.threadedStopFailed=停止期间子容器失败
 
+contextNamingInfoListener.envEntry=添加上下文环境条目[{0}], 值是[{1}]
+
 defaultInstanceManager.invalidAnnotation=无效注解[{0}]
 defaultInstanceManager.invalidInjection=方法资源注入注解无效
 defaultInstanceManager.postConstructNotFound=类[{1}]的后构造方

(tomcat) 03/04: Improvements to Chinese translations by leeyazhou.

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

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

commit a001d52752134df5345330f106fc31cfd6a75189
Author: Mark Thomas 
AuthorDate: Mon Feb 3 17:00:19 2025 +

Improvements to Chinese translations by leeyazhou.
---
 java/javax/el/LocalStrings_zh_CN.properties|  1 +
 .../authenticator/LocalStrings_zh_CN.properties|  3 +
 .../connector/LocalStrings_zh_CN.properties|  1 +
 .../catalina/core/LocalStrings_zh_CN.properties|  4 ++
 .../catalina/filters/LocalStrings_zh_CN.properties |  1 +
 .../manager/host/LocalStrings_zh_CN.properties |  1 +
 .../catalina/startup/LocalStrings_zh_CN.properties |  1 +
 .../coyote/http11/LocalStrings_zh_CN.properties|  1 +
 .../http11/filters/LocalStrings_zh_CN.properties   |  2 +
 .../coyote/http2/LocalStrings_zh_CN.properties |  1 +
 .../jasper/resources/LocalStrings_zh_CN.properties |  2 +
 .../tomcat/util/buf/LocalStrings_zh_CN.properties  |  3 +
 .../tomcat/util/http/LocalStrings_zh_CN.properties |  1 +
 .../util/http/parser/LocalStrings_zh_CN.properties |  1 +
 .../openssl/ciphers/LocalStrings_zh_CN.properties  |  1 +
 .../openssl/panama/LocalStrings_zh_CN.properties   | 66 ++
 .../util/threads/LocalStrings_zh_CN.properties |  4 ++
 .../tomcat/websocket/LocalStrings_zh_CN.properties |  2 +
 webapps/docs/changelog.xml |  6 ++
 19 files changed, 102 insertions(+)

diff --git a/java/javax/el/LocalStrings_zh_CN.properties 
b/java/javax/el/LocalStrings_zh_CN.properties
index 72658c73b9..c663fca636 100644
--- a/java/javax/el/LocalStrings_zh_CN.properties
+++ b/java/javax/el/LocalStrings_zh_CN.properties
@@ -46,6 +46,7 @@ propertyNotReadable=属性 [{1}] 在类型 [{0}] 上不可读
 propertyNotWritable=属性 [{1}] 在类型 [{0}] 上不可写
 propertyReadError=在类型 [{0}] 上读取 [{1}] 时出错
 propertyWriteError=在类型 [{0}] 上写入 [{1}] 时出错
+resolverNotWritable=类型[{0}]的ELResolver不可写入
 
 staticFieldELResolver.methodNotFound=在类 [{1}] 上,找不到名为 [{0}] 的匹配公共静态方法
 staticFieldELResolver.notFound=(Java  9+导出)类[{1}]上找不到名为[{0}]的公共静态字段
diff --git 
a/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties 
b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
index 63b4942eca..7010a2b9ee 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
@@ -16,6 +16,8 @@
 # Do not edit this file directly.
 # To edit translations see: 
https://tomcat.apache.org/getinvolved.html#Translations
 
+authenticator.authentication=认证类型为[{1}]的认证主体[{0}]
+authenticator.authenticationFail=用户认证失败
 authenticator.certificates=此请求中没有客户端证书链
 authenticator.changeSessionId=在身份验证时, 会话 ID 从 [{0}] 更改为 [{1}]
 authenticator.check.authorize=用户名[{0}]从连接器获得,并被信任为有效。从Tomcat领域获取此用户的角色。
@@ -32,6 +34,7 @@ authenticator.noAuthHeader=客户端未发送授权请求头
 authenticator.notContext=配置错误:必须被附属于一个上下文
 authenticator.requestBodyTooBig=请求正文太大,无法在身份验证过程中进行缓存
 authenticator.sessionExpired=已超出登录过程所允许的时间。 
如果您希望继续,则必须单击两次后退并重新单击您请求的链接或先关闭然后重新打开浏览器
+authenticator.sso=找到SSO [{0}]
 authenticator.tomcatPrincipalLogoutFail=使用TomcatPrincipal实例注销失败
 authenticator.unauthorized=无法使用提供的凭据进行身份验证
 
diff --git a/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties 
b/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
index b17e05b02b..94f8746a28 100644
--- a/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
@@ -54,6 +54,7 @@ coyoteRequest.attributeEvent=属性事件侦听器引发的异常
 coyoteRequest.authenticate.ise=):提交响应后无法调用authenticate()
 coyoteRequest.changeSessionId=无法更改 session ID。 没有与此请求关联的 session。
 
coyoteRequest.chunkedPostTooLarge=由于请求参数数据太大,导致参数不能解析。因为当前请求是块状请求,后续也不会处理。如果应用程序需要接收大的POST请求,可以使用连接器的maxPostSize解决它。
+coyoteRequest.deletePartFailed=删除[{0}]部分的临时文件失败
 coyoteRequest.filterAsyncSupportUnknown=无法确定是否有任何过滤器不支持异步处理
 coyoteRequest.getContextPath.ise=找不到规范上下文路径[{0}]与用户代理[{1}]提供的URI之间的匹配项。
 coyoteRequest.getInputStream.ise=已为此请求调用getReader()
diff --git a/java/org/apache/catalina/core/LocalStrings_zh_CN.properties 
b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
index bb6ab112df..ac63ef80e9 100644
--- a/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
@@ -130,6 +130,8 @@ containerBase.realm.stop=停止旧域时出错
 containerBase.threadedStartFailed=子容器启动失败
 containerBase.threadedStopFailed=停止期间子容器失败
 
+contextNamingInfoListener.envEntry=添加上下文环境条目[{0}], 值是[{1}]
+
 defaultInstanceManager.invalidAnnotation=无效注解[{0}]
 defaultInstanceManager.invalidInjection=方法资源注入注解无效
 defaultInstanceManager.postConstructNotFound=类[{1}]的后构造方法[{0}]已在部署描述符中声明,但找不到
@@ -169,7 +171,9 @@ naming.wsdlFailed=未找到 wsdl 文件:[{0}]
 
 noPluggabilityServletContext.notAllowed=Servlet 
3.0规范的第4.4节不允许从未在web.xml,web-fragment.xml文件中定义或未用@WebList

(tomcat) branch 9.0.x updated (6c4d98d17e -> 9647a02544)

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

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


from 6c4d98d17e Fix BZ 69559 - Avoid 24 warning when not relevant
 new 22f2d552bd Refactor into more, shorter tests to aid parallel test 
execution
 new 5a46a0ab43 Improvements to French translations. (remm)
 new a001d52752 Improvements to Chinese translations by leeyazhou.
 new 9647a02544 Improvements to Japanese translations by tak7iji.

The 4 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:
 java/javax/el/LocalStrings_zh_CN.properties|   1 +
 .../authenticator/LocalStrings_zh_CN.properties|   3 +
 .../connector/LocalStrings_zh_CN.properties|   1 +
 .../catalina/core/LocalStrings_zh_CN.properties|   4 +
 .../catalina/filters/LocalStrings_zh_CN.properties |   1 +
 .../catalina/ha/session/LocalStrings_ja.properties |   4 +-
 .../catalina/ha/tcp/LocalStrings_ja.properties |   2 +-
 .../manager/host/LocalStrings_zh_CN.properties |   1 +
 .../catalina/startup/LocalStrings_fr.properties|   1 +
 .../catalina/startup/LocalStrings_ja.properties|   1 +
 .../catalina/startup/LocalStrings_zh_CN.properties |   1 +
 .../coyote/http11/LocalStrings_zh_CN.properties|   1 +
 .../http11/filters/LocalStrings_zh_CN.properties   |   2 +
 .../coyote/http2/LocalStrings_zh_CN.properties |   1 +
 .../jasper/resources/LocalStrings_zh_CN.properties |   2 +
 .../tomcat/util/buf/LocalStrings_zh_CN.properties  |   3 +
 .../tomcat/util/http/LocalStrings_zh_CN.properties |   1 +
 .../util/http/parser/LocalStrings_zh_CN.properties |   1 +
 .../openssl/ciphers/LocalStrings_zh_CN.properties  |   1 +
 .../openssl/panama/LocalStrings_zh_CN.properties   |  66 ++
 .../util/threads/LocalStrings_zh_CN.properties |   4 +
 .../tomcat/websocket/LocalStrings_zh_CN.properties |   2 +
 ... => HostConfigAutomaticDeploymentBaseTest.java} | 866 +++--
 .../TestHostConfigAutomaticDeploymentA.java| 482 
 .../TestHostConfigAutomaticDeploymentAddition.java | 182 +
 .../TestHostConfigAutomaticDeploymentB.java| 687 
 ...TestHostConfigAutomaticDeploymentBrokenApp.java |  25 +-
 .../TestHostConfigAutomaticDeploymentC8.java   | 504 
 ...tConfigAutomaticDeploymentContextClassName.java |  62 ++
 .../TestHostConfigAutomaticDeploymentCopyXML.java  |  71 ++
 .../TestHostConfigAutomaticDeploymentDeleteA.java  |  62 ++
 .../TestHostConfigAutomaticDeploymentDeleteB.java  | 113 +++
 .../TestHostConfigAutomaticDeploymentDeleteC.java  | 101 +++
 .../TestHostConfigAutomaticDeploymentDir.java  |  89 +++
 .../TestHostConfigAutomaticDeploymentDirXml.java   |  91 +++
 ...tHostConfigAutomaticDeploymentModification.java | 167 
 ...TestHostConfigAutomaticDeploymentUnpackWAR.java |  71 ++
 ...tConfigAutomaticDeploymentUpdateWarOffline.java |  73 ++
 .../TestHostConfigAutomaticDeploymentWar.java  |  90 +++
 .../TestHostConfigAutomaticDeploymentWarXml.java   |  94 +++
 .../TestHostConfigAutomaticDeploymentXml.java  |  91 +++
 ...ConfigAutomaticDeploymentXmlExternalDirXml.java | 102 +++
 ...ConfigAutomaticDeploymentXmlExternalWarXml.java | 105 +++
 webapps/docs/changelog.xml |   9 +
 44 files changed, 2470 insertions(+), 1771 deletions(-)
 rename 
test/org/apache/catalina/startup/{TestHostConfigAutomaticDeploymentC.java => 
HostConfigAutomaticDeploymentBaseTest.java} (52%)
 delete mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentA.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentAddition.java
 delete mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentB.java
 copy java/org/apache/catalina/startup/SetAllPropertiesRule.java => 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentBrokenApp.java
 (63%)
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentC8.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentContextClassName.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentCopyXML.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDeleteA.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDeleteB.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDeleteC.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDir.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDirXml.java
 create mode 100644 
test/org/apache/catalina

(tomcat) 02/04: Improvements to French translations. (remm)

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

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

commit 5a46a0ab4388324c1fb6e39c91f73446c39f9389
Author: Mark Thomas 
AuthorDate: Mon Feb 3 16:59:39 2025 +

Improvements to French translations. (remm)
---
 java/org/apache/catalina/startup/LocalStrings_fr.properties | 1 +
 1 file changed, 1 insertion(+)

diff --git a/java/org/apache/catalina/startup/LocalStrings_fr.properties 
b/java/org/apache/catalina/startup/LocalStrings_fr.properties
index 48eaf5633b..b282fb898c 100644
--- a/java/org/apache/catalina/startup/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_fr.properties
@@ -75,6 +75,7 @@ contextConfig.invalidSciHandlesTypes=Impossible de charger la 
classe [{0}] pour
 contextConfig.jarFile=Impossible de traiter les annotations du JAR [{0}]
 contextConfig.jspFile.error=Le fichier JSP [{0}] doit commencer par un ''/''
 contextConfig.jspFile.warning=WARNING : Le fichier JSP [{0}] doit commencer 
par un  ''/'' dans l''API Servlet 2.4
+contextConfig.loadError=Erreur lors du chargement du code généré
 contextConfig.missingRealm=Aucun royaume (realm) n'a été configuré pour 
réaliser l'authentification
 contextConfig.noAntiLocking=La valeur [{0}] configurée pour java.io.tmpdir ne 
correspond pas à un répertoire valide, le paramètre antiResourceLocking 
configuré pour l''application [{1}] sera ignoré
 contextConfig.noJsp=Le groupe de propriétés JSP pour l''URL [{0}] sera sauté, 
le Servlet JSP avec le nom [{1}] n''a pas été trouvé


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



(tomcat) 04/04: Improvements to Japanese translations by tak7iji.

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

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

commit 9647a025443861f6fb6159b9c90f91dba6c7e7b4
Author: Mark Thomas 
AuthorDate: Mon Feb 3 17:00:39 2025 +

Improvements to Japanese translations by tak7iji.
---
 java/org/apache/catalina/ha/session/LocalStrings_ja.properties | 4 ++--
 java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties | 2 +-
 java/org/apache/catalina/startup/LocalStrings_ja.properties| 1 +
 webapps/docs/changelog.xml | 3 +++
 4 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/java/org/apache/catalina/ha/session/LocalStrings_ja.properties 
b/java/org/apache/catalina/ha/session/LocalStrings_ja.properties
index 35a471cbc4..15634103cb 100644
--- a/java/org/apache/catalina/ha/session/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/ha/session/LocalStrings_ja.properties
@@ -31,7 +31,7 @@ deltaManager.createMessage.allSessionData=マネージャ [{0}] はすべての
 deltaManager.createMessage.allSessionTransferred=マネージャ [{0}] 
はすべてのセッションデータ転送を送信しました
 deltaManager.createMessage.delta=マネージャ [{0}]: セッション [{1}] のデルタリクエストメッセージを作成します
 deltaManager.createMessage.expire=マネージャ [{0}]: セッション [{1}] 
のセッションの期限切れメッセージを作成します
-deltaManager.createMessage.unableCreateDeltaRequest=セッションID 
[{0}]のDeltaRequestシリアライズできません。
+deltaManager.createMessage.unableCreateDeltaRequest=セッションID [{0}] の 
DeltaRequest がシリアライズできません
 deltaManager.createSession.newSession=DeltaSession (ID は [{0}]) を作成しました。総数は 
[{1}] です。
 deltaManager.dropMessage=マネージャ [{0}]: GET_ALL_SESSIONS同期フェーズの開始日 [{2}] 
メッセージの日付 [{3}] 内のメッセージ [{1}] をドロップします
 deltaManager.expireSessions=シャットダウン時にマネージャ [{0}] はセッションを満了します
@@ -91,5 +91,5 @@ jvmRoute.valve.started=JvmRouteBinderValve が起動しました。
 jvmRoute.valve.stopped=JvmRouteBinderValve が停止しました。
 
 standardSession.notSerializable=セッション[{1}]のセッション属性[{0}]をシリアライズできません。
-standardSession.removeAttribute.ise=removeAttribute: Session already 
invalidated
+standardSession.removeAttribute.ise=removeAttribute: セッションは既に無効化されています
 standardSession.setAttribute.namenull=setAttribute:nameパラメータをnullにすることはできません。
diff --git a/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties 
b/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
index 50aedc2917..2491777260 100644
--- a/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
@@ -24,7 +24,7 @@ ReplicationValve.filter.failure=フィルター文字列=[{0}] がコンパイ
 ReplicationValve.filter.loading=リクエストフィルタ= [{0}]のロード
 ReplicationValve.invoke.uri=[{0}]のレプリケーションリクエストを呼び出します。
 ReplicationValve.nocluster=このリクエストに対して構成されたクラスタはありません。
-ReplicationValve.resetDeltaRequest=クラスタはスタンドアロンである:コンテキスト [{0}] 
でセッションのデルタリクエストをリセットします
+ReplicationValve.resetDeltaRequest=クラスタはスタンドアロンです:コンテキスト [{0}] 
でセッションのデルタリクエストをリセットします
 ReplicationValve.send.failure=レプリケーションリクエストを実行できません。
 ReplicationValve.send.invalid.failure=セッション[id = {0}]無効メッセージをクラスタに送信できません。
 ReplicationValve.session.found=コンテキスト [{0}]: セッション [{1}] 
は見つかりましたが、クラスターセッションではありません
diff --git a/java/org/apache/catalina/startup/LocalStrings_ja.properties 
b/java/org/apache/catalina/startup/LocalStrings_ja.properties
index d0482826b9..cdae8cfcc2 100644
--- a/java/org/apache/catalina/startup/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_ja.properties
@@ -75,6 +75,7 @@ 
contextConfig.invalidSciHandlesTypes=1つ以上のServletContentInitializersの@
 contextConfig.jarFile=Jar [{0}] のアノテーションを処理できません
 contextConfig.jspFile.error=JSPファイル [{0}] は''/''で始まらなければいけません
 contextConfig.jspFile.warning=警告: Servlet 2.4ではJSPファイル [{0}] 
は''/''で始まらなければいけません
+contextConfig.loadError=生成されたコードのロード中にエラーが発生しました
 contextConfig.missingRealm=認証するためにレルムが設定されていません
 contextConfig.noAntiLocking=java.io.tmpdirに設定された値[{0}]が有効なディレクトリを指していません。 
Webアプリケーション[{1}]のantiResourceLocking設定は無視されます。
 contextConfig.noJsp=URL [{0}] の JSP プロパティ グループをスキップしています。名前 [{1}] の JSP 
サーブレットが見つかりません
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index c1868288b5..fc32c5ee8e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -298,6 +298,9 @@
   
 Improvements to Chinese translations by leeyazhou. (markt)
   
+  
+Improvements to Japanese translations by tak7iji. (markt)
+  
 
   
 


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



(tomcat) branch main updated: Work around null checks if passing null cert password

2025-02-03 Thread remm
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 904701a434 Work around null checks if passing null cert password
904701a434 is described below

commit 904701a434325534b856b70f085dbe1dee05c43a
Author: remm 
AuthorDate: Mon Feb 3 16:02:51 2025 +0100

Work around null checks if passing null cert password

I doubt this will trigger security scanners this way.
Based on PR815 submitted by Dmole.
---
 java/org/apache/tomcat/util/net/SSLUtilBase.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/java/org/apache/tomcat/util/net/SSLUtilBase.java 
b/java/org/apache/tomcat/util/net/SSLUtilBase.java
index 410a80c5d8..c2b98fd85d 100644
--- a/java/org/apache/tomcat/util/net/SSLUtilBase.java
+++ b/java/org/apache/tomcat/util/net/SSLUtilBase.java
@@ -318,7 +318,7 @@ public abstract class SSLUtilBase implements SSLUtil {
  * required key works around that.
  * Other keys stores (hardware, MS, etc.) will be used as is.
  */
-char[] keyPassArray = null;
+char[] keyPassArray = new char[0];
 String keyPassToUse = null;
 if (keyPassFile != null) {
 try (BufferedReader reader =


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



(tomcat) branch main updated: Improvements to French translations. (remm)

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

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


The following commit(s) were added to refs/heads/main by this push:
 new d8c4a6e084 Improvements to French translations. (remm)
d8c4a6e084 is described below

commit d8c4a6e084aa0e2224e16f8bbed8a05329a005cf
Author: Mark Thomas 
AuthorDate: Mon Feb 3 16:36:22 2025 +

Improvements to French translations. (remm)
---
 java/org/apache/catalina/servlets/LocalStrings_fr.properties | 2 ++
 java/org/apache/catalina/startup/LocalStrings_fr.properties  | 1 +
 webapps/docs/changelog.xml   | 3 +++
 3 files changed, 6 insertions(+)

diff --git a/java/org/apache/catalina/servlets/LocalStrings_fr.properties 
b/java/org/apache/catalina/servlets/LocalStrings_fr.properties
index abf744bff6..202ea351b5 100644
--- a/java/org/apache/catalina/servlets/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings_fr.properties
@@ -45,6 +45,8 @@ defaultServlet.blockExternalEntity2=L''accès à l''entité 
externe nommée [{0}
 defaultServlet.blockExternalSubset=L''accès au sous-ensemble externe de nom 
[{0}] et de baseURI [{1}] a été bloqué
 defaultServlet.directory.parent=Jusqu''à [{0}]
 defaultServlet.directory.title=Liste du répertoire pour [{0}]
+defaultServlet.globalXSLTTooBig=Le fichier XSLT global [{0}] est trop grand 
pour être mis en tampon
+defaultServlet.invalidRedirectStatusCode=Le code de statut de redirection 
[{0}] est invalide
 defaultServlet.missingResource=La ressource demandée [{0}] n''est pas 
disponible
 defaultServlet.noResources=Pas de ressources statiques
 defaultServlet.readerCloseFailed=Impossible de fermer le lecteur
diff --git a/java/org/apache/catalina/startup/LocalStrings_fr.properties 
b/java/org/apache/catalina/startup/LocalStrings_fr.properties
index 5d15950742..e385e85753 100644
--- a/java/org/apache/catalina/startup/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_fr.properties
@@ -75,6 +75,7 @@ contextConfig.invalidSciHandlesTypes=Impossible de charger la 
classe [{0}] pour
 contextConfig.jarFile=Impossible de traiter les annotations du JAR [{0}]
 contextConfig.jspFile.error=Le fichier JSP [{0}] doit commencer par un ''/''
 contextConfig.jspFile.warning=WARNING : Le fichier JSP [{0}] doit commencer 
par un  ''/'' dans l''API Servlet 2.4
+contextConfig.loadError=Erreur lors du chargement du code généré
 contextConfig.missingRealm=Aucun royaume (realm) n'a été configuré pour 
réaliser l'authentification
 contextConfig.noAntiLocking=La valeur [{0}] configurée pour java.io.tmpdir ne 
correspond pas à un répertoire valide, le paramètre antiResourceLocking 
configuré pour l''application [{1}] sera ignoré
 contextConfig.noJsp=Le groupe de propriétés JSP pour l''URL [{0}] sera sauté, 
le Servlet JSP avec le nom [{1}] n''a pas été trouvé
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 923c5250cb..a27bbbf152 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -369,6 +369,9 @@
   
 Update JSign to 7.0. (markt)
   
+  
+Improvements to French translations. (remm)
+  
 
   
 


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



(tomcat) branch main updated: Improvements to Japanese translations by tak7iji.

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

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


The following commit(s) were added to refs/heads/main by this push:
 new cde3480c6d Improvements to Japanese translations by tak7iji.
cde3480c6d is described below

commit cde3480c6de96c169ebc258fdc3980c373e511f7
Author: Mark Thomas 
AuthorDate: Mon Feb 3 16:37:37 2025 +

Improvements to Japanese translations by tak7iji.
---
 java/org/apache/catalina/ha/session/LocalStrings_ja.properties | 4 ++--
 java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties | 2 +-
 java/org/apache/catalina/servlets/LocalStrings_ja.properties   | 2 ++
 java/org/apache/catalina/startup/LocalStrings_ja.properties| 1 +
 webapps/docs/changelog.xml | 3 +++
 5 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/java/org/apache/catalina/ha/session/LocalStrings_ja.properties 
b/java/org/apache/catalina/ha/session/LocalStrings_ja.properties
index 35a471cbc4..15634103cb 100644
--- a/java/org/apache/catalina/ha/session/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/ha/session/LocalStrings_ja.properties
@@ -31,7 +31,7 @@ deltaManager.createMessage.allSessionData=マネージャ [{0}] はすべての
 deltaManager.createMessage.allSessionTransferred=マネージャ [{0}] 
はすべてのセッションデータ転送を送信しました
 deltaManager.createMessage.delta=マネージャ [{0}]: セッション [{1}] のデルタリクエストメッセージを作成します
 deltaManager.createMessage.expire=マネージャ [{0}]: セッション [{1}] 
のセッションの期限切れメッセージを作成します
-deltaManager.createMessage.unableCreateDeltaRequest=セッションID 
[{0}]のDeltaRequestシリアライズできません。
+deltaManager.createMessage.unableCreateDeltaRequest=セッションID [{0}] の 
DeltaRequest がシリアライズできません
 deltaManager.createSession.newSession=DeltaSession (ID は [{0}]) を作成しました。総数は 
[{1}] です。
 deltaManager.dropMessage=マネージャ [{0}]: GET_ALL_SESSIONS同期フェーズの開始日 [{2}] 
メッセージの日付 [{3}] 内のメッセージ [{1}] をドロップします
 deltaManager.expireSessions=シャットダウン時にマネージャ [{0}] はセッションを満了します
@@ -91,5 +91,5 @@ jvmRoute.valve.started=JvmRouteBinderValve が起動しました。
 jvmRoute.valve.stopped=JvmRouteBinderValve が停止しました。
 
 standardSession.notSerializable=セッション[{1}]のセッション属性[{0}]をシリアライズできません。
-standardSession.removeAttribute.ise=removeAttribute: Session already 
invalidated
+standardSession.removeAttribute.ise=removeAttribute: セッションは既に無効化されています
 standardSession.setAttribute.namenull=setAttribute:nameパラメータをnullにすることはできません。
diff --git a/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties 
b/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
index 50aedc2917..2491777260 100644
--- a/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
@@ -24,7 +24,7 @@ ReplicationValve.filter.failure=フィルター文字列=[{0}] がコンパイ
 ReplicationValve.filter.loading=リクエストフィルタ= [{0}]のロード
 ReplicationValve.invoke.uri=[{0}]のレプリケーションリクエストを呼び出します。
 ReplicationValve.nocluster=このリクエストに対して構成されたクラスタはありません。
-ReplicationValve.resetDeltaRequest=クラスタはスタンドアロンである:コンテキスト [{0}] 
でセッションのデルタリクエストをリセットします
+ReplicationValve.resetDeltaRequest=クラスタはスタンドアロンです:コンテキスト [{0}] 
でセッションのデルタリクエストをリセットします
 ReplicationValve.send.failure=レプリケーションリクエストを実行できません。
 ReplicationValve.send.invalid.failure=セッション[id = {0}]無効メッセージをクラスタに送信できません。
 ReplicationValve.session.found=コンテキスト [{0}]: セッション [{1}] 
は見つかりましたが、クラスターセッションではありません
diff --git a/java/org/apache/catalina/servlets/LocalStrings_ja.properties 
b/java/org/apache/catalina/servlets/LocalStrings_ja.properties
index c56a57b4fd..d390e74d8c 100644
--- a/java/org/apache/catalina/servlets/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings_ja.properties
@@ -45,6 +45,8 @@ defaultServlet.blockExternalEntity2=エンティティ名 [{0}]、publicId 
[{1}]
 defaultServlet.blockExternalSubset=名前[{0}]およびベースURI 
[{1}]を持つ外部サブセットへのアクセスがブロックされました
 defaultServlet.directory.parent=[{0}] に移動
 defaultServlet.directory.title=[{0}] のディレクトリの一覧
+defaultServlet.globalXSLTTooBig=グローバル XSLT ファイル [{0}] はバッファリングするには大きすぎます
+defaultServlet.invalidRedirectStatusCode=無効なリダイレクトステータス コード [{0}]
 defaultServlet.missingResource=要求されたリソース [{0}] は利用できません。
 defaultServlet.noResources=静的リソースが見つかりません。
 defaultServlet.readerCloseFailed=readerのクローズに失敗しました
diff --git a/java/org/apache/catalina/startup/LocalStrings_ja.properties 
b/java/org/apache/catalina/startup/LocalStrings_ja.properties
index 26e940b627..3564fb98bc 100644
--- a/java/org/apache/catalina/startup/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_ja.properties
@@ -75,6 +75,7 @@ 
contextConfig.invalidSciHandlesTypes=1つ以上のServletContentInitializersの@
 contextConfig.jarFile=Jar [{0}] のアノテーションを処理できません
 contextConfig.jspFile.error=JSPファイル [{0}] は''/''で始まらなければいけません
 contextConfig.jspFile.warning=警告: Servlet 2.4ではJSPファイル [{0}] 
は''/''で始まらなければいけません
+contextConfig.loadError=生成されたコードのロード中にエラーが発生しました
 contextConfig.missingRealm=認証するためにレルムが設定されていません
 contextConfig.noAntiLocking=java.io.tmpdirに設定された値[{0}]が有効なディレクトリを指してい

(tomcat) branch main updated: Improvements to Chinese translations by leeyazhou.

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

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


The following commit(s) were added to refs/heads/main by this push:
 new f8a5af4107 Improvements to Chinese translations by leeyazhou.
f8a5af4107 is described below

commit f8a5af41073abf9e5913b6f8e4430e80df8c55d9
Author: Mark Thomas 
AuthorDate: Mon Feb 3 16:41:04 2025 +

Improvements to Chinese translations by leeyazhou.
---
 java/jakarta/el/LocalStrings_zh_CN.properties  |  1 +
 .../authenticator/LocalStrings_zh_CN.properties|  3 +
 .../connector/LocalStrings_zh_CN.properties|  2 +
 .../catalina/core/LocalStrings_zh_CN.properties|  4 ++
 .../catalina/filters/LocalStrings_zh_CN.properties |  1 +
 .../manager/host/LocalStrings_zh_CN.properties |  1 +
 .../servlets/LocalStrings_zh_CN.properties |  2 +
 .../catalina/startup/LocalStrings_zh_CN.properties |  1 +
 .../coyote/http11/LocalStrings_zh_CN.properties|  1 +
 .../http11/filters/LocalStrings_zh_CN.properties   |  2 +
 .../coyote/http2/LocalStrings_zh_CN.properties |  1 +
 .../jasper/resources/LocalStrings_zh_CN.properties |  2 +
 .../tomcat/util/buf/LocalStrings_zh_CN.properties  |  3 +
 .../tomcat/util/http/LocalStrings_zh_CN.properties |  1 +
 .../util/http/parser/LocalStrings_zh_CN.properties |  1 +
 .../openssl/ciphers/LocalStrings_zh_CN.properties  |  1 +
 .../openssl/panama/LocalStrings_zh_CN.properties   | 66 ++
 .../util/threads/LocalStrings_zh_CN.properties |  4 ++
 .../tomcat/websocket/LocalStrings_zh_CN.properties |  2 +
 webapps/docs/changelog.xml |  3 +
 20 files changed, 102 insertions(+)

diff --git a/java/jakarta/el/LocalStrings_zh_CN.properties 
b/java/jakarta/el/LocalStrings_zh_CN.properties
index 42ebf53764..950aa579dc 100644
--- a/java/jakarta/el/LocalStrings_zh_CN.properties
+++ b/java/jakarta/el/LocalStrings_zh_CN.properties
@@ -46,6 +46,7 @@ propertyNotReadable=属性 [{1}] 在类型 [{0}] 上不可读
 propertyNotWritable=属性 [{1}] 在类型 [{0}] 上不可写
 propertyReadError=在类型 [{0}] 上读取 [{1}] 时出错
 propertyWriteError=在类型 [{0}] 上写入 [{1}] 时出错
+resolverNotWritable=类型[{0}]的ELResolver不可写入
 
 staticFieldELResolver.methodNotFound=在类 [{1}] 上,找不到名为 [{0}] 的匹配公共静态方法
 staticFieldELResolver.notFound=在(导出的 Java 9+ )类 [{1}] 上找不到名为 [{0}] 的公共静态字段
diff --git 
a/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties 
b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
index 63b4942eca..7010a2b9ee 100644
--- a/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/authenticator/LocalStrings_zh_CN.properties
@@ -16,6 +16,8 @@
 # Do not edit this file directly.
 # To edit translations see: 
https://tomcat.apache.org/getinvolved.html#Translations
 
+authenticator.authentication=认证类型为[{1}]的认证主体[{0}]
+authenticator.authenticationFail=用户认证失败
 authenticator.certificates=此请求中没有客户端证书链
 authenticator.changeSessionId=在身份验证时, 会话 ID 从 [{0}] 更改为 [{1}]
 authenticator.check.authorize=用户名[{0}]从连接器获得,并被信任为有效。从Tomcat领域获取此用户的角色。
@@ -32,6 +34,7 @@ authenticator.noAuthHeader=客户端未发送授权请求头
 authenticator.notContext=配置错误:必须被附属于一个上下文
 authenticator.requestBodyTooBig=请求正文太大,无法在身份验证过程中进行缓存
 authenticator.sessionExpired=已超出登录过程所允许的时间。 
如果您希望继续,则必须单击两次后退并重新单击您请求的链接或先关闭然后重新打开浏览器
+authenticator.sso=找到SSO [{0}]
 authenticator.tomcatPrincipalLogoutFail=使用TomcatPrincipal实例注销失败
 authenticator.unauthorized=无法使用提供的凭据进行身份验证
 
diff --git a/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties 
b/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
index 8d0aa813f6..b6e8d956cf 100644
--- a/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
+++ b/java/org/apache/catalina/connector/LocalStrings_zh_CN.properties
@@ -41,6 +41,7 @@ coyoteConnector.protocolHandlerResumeFailed=协议处理程序恢复失败
 coyoteConnector.protocolHandlerStartFailed=协议处理器启动失败
 coyoteConnector.protocolHandlerStopFailed=协议处理程序.停止失败
 
+coyoteInputStream.blockingOnly=当输入流是非阻塞模式时可能不会调用这个方法(也就是配置了ReadListener之后)
 coyoteInputStream.nbNotready=在非阻塞模式下,只有之前的读数据完成,并且isReady()方法返回true,你才可以使用 
ServletInputStream 读取数据
 coyoteInputStream.null=输入缓冲对象已被回收,不再与此外观关联\n
 
@@ -52,6 +53,7 @@ coyoteRequest.attributeEvent=属性事件侦听器引发的异常
 coyoteRequest.authenticate.ise=):提交响应后无法调用authenticate()
 coyoteRequest.changeSessionId=无法更改 session ID。 没有与此请求关联的 session。
 
coyoteRequest.chunkedPostTooLarge=由于请求参数数据太大,导致参数不能解析。因为当前请求是块状请求,后续也不会处理。如果应用程序需要接收大的POST请求,可以使用连接器的maxPostSize解决它。
+coyoteRequest.deletePartFailed=删除[{0}]部分的临时文件失败
 coyoteRequest.filterAsyncSupportUnknown=无法确定是否有任何过滤器不支持异步处理
 coyoteRequest.getContextPath.ise=找不到规范上下文路径[{0}]与用户代理[{1}]提供的URI之间的匹配项。
 coyoteRequest.getInputStream.ise=已为此请求调用getReader()
diff --git a/java/org/apache/catalina/core/LocalStrings_zh_CN.properties 
b/java/org/apache/catalina/core/LocalStrings_zh_CN.properties
index 83efadec0a..1c6f1d6124 100644
--- a/java/org/apache/catalina/c

(tomcat) 02/02: Improvements to French translations. (remm)

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

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

commit 0fdefcc1a62297e19790621d8fe746524d1cf8a4
Author: Mark Thomas 
AuthorDate: Mon Feb 3 16:46:25 2025 +

Improvements to French translations. (remm)
---
 java/org/apache/catalina/servlets/LocalStrings_fr.properties | 2 ++
 java/org/apache/catalina/startup/LocalStrings_fr.properties  | 1 +
 webapps/docs/changelog.xml   | 3 +++
 3 files changed, 6 insertions(+)

diff --git a/java/org/apache/catalina/servlets/LocalStrings_fr.properties 
b/java/org/apache/catalina/servlets/LocalStrings_fr.properties
index abf744bff6..202ea351b5 100644
--- a/java/org/apache/catalina/servlets/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings_fr.properties
@@ -45,6 +45,8 @@ defaultServlet.blockExternalEntity2=L''accès à l''entité 
externe nommée [{0}
 defaultServlet.blockExternalSubset=L''accès au sous-ensemble externe de nom 
[{0}] et de baseURI [{1}] a été bloqué
 defaultServlet.directory.parent=Jusqu''à [{0}]
 defaultServlet.directory.title=Liste du répertoire pour [{0}]
+defaultServlet.globalXSLTTooBig=Le fichier XSLT global [{0}] est trop grand 
pour être mis en tampon
+defaultServlet.invalidRedirectStatusCode=Le code de statut de redirection 
[{0}] est invalide
 defaultServlet.missingResource=La ressource demandée [{0}] n''est pas 
disponible
 defaultServlet.noResources=Pas de ressources statiques
 defaultServlet.readerCloseFailed=Impossible de fermer le lecteur
diff --git a/java/org/apache/catalina/startup/LocalStrings_fr.properties 
b/java/org/apache/catalina/startup/LocalStrings_fr.properties
index 5d15950742..e385e85753 100644
--- a/java/org/apache/catalina/startup/LocalStrings_fr.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_fr.properties
@@ -75,6 +75,7 @@ contextConfig.invalidSciHandlesTypes=Impossible de charger la 
classe [{0}] pour
 contextConfig.jarFile=Impossible de traiter les annotations du JAR [{0}]
 contextConfig.jspFile.error=Le fichier JSP [{0}] doit commencer par un ''/''
 contextConfig.jspFile.warning=WARNING : Le fichier JSP [{0}] doit commencer 
par un  ''/'' dans l''API Servlet 2.4
+contextConfig.loadError=Erreur lors du chargement du code généré
 contextConfig.missingRealm=Aucun royaume (realm) n'a été configuré pour 
réaliser l'authentification
 contextConfig.noAntiLocking=La valeur [{0}] configurée pour java.io.tmpdir ne 
correspond pas à un répertoire valide, le paramètre antiResourceLocking 
configuré pour l''application [{1}] sera ignoré
 contextConfig.noJsp=Le groupe de propriétés JSP pour l''URL [{0}] sera sauté, 
le Servlet JSP avec le nom [{1}] n''a pas été trouvé
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 77647679ab..67206b716d 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -315,6 +315,9 @@
   
 Update JSign to 7.0. (markt)
   
+  
+Improvements to French translations. (remm)
+  
 
   
 


-
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 (14f25027c7 -> 0fdefcc1a6)

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

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


from 14f25027c7 Fix BZ 69559 - Avoid 24 warning when not relevant
 new bda90a6f6a Refactor into more, shorter tests to aid parallel test 
execution
 new 0fdefcc1a6 Improvements to French translations. (remm)

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/servlets/LocalStrings_fr.properties   |   2 +
 .../catalina/startup/LocalStrings_fr.properties|   1 +
 ... => HostConfigAutomaticDeploymentBaseTest.java} | 866 +++--
 .../TestHostConfigAutomaticDeploymentA.java| 482 
 .../TestHostConfigAutomaticDeploymentAddition.java | 182 +
 .../TestHostConfigAutomaticDeploymentB.java| 687 
 ...estHostConfigAutomaticDeploymentBrokenApp.java} |  22 +-
 .../TestHostConfigAutomaticDeploymentC8.java   | 504 
 ...tConfigAutomaticDeploymentContextClassName.java |  62 ++
 .../TestHostConfigAutomaticDeploymentCopyXML.java  |  71 ++
 .../TestHostConfigAutomaticDeploymentDeleteA.java  |  62 ++
 .../TestHostConfigAutomaticDeploymentDeleteB.java  | 113 +++
 .../TestHostConfigAutomaticDeploymentDeleteC.java  | 101 +++
 .../TestHostConfigAutomaticDeploymentDir.java  |  89 +++
 .../TestHostConfigAutomaticDeploymentDirXml.java   |  91 +++
 ...tHostConfigAutomaticDeploymentModification.java | 167 
 ...TestHostConfigAutomaticDeploymentUnpackWAR.java |  71 ++
 ...tConfigAutomaticDeploymentUpdateWarOffline.java |  73 ++
 .../TestHostConfigAutomaticDeploymentWar.java  |  90 +++
 .../TestHostConfigAutomaticDeploymentWarXml.java   |  94 +++
 .../TestHostConfigAutomaticDeploymentXml.java  |  91 +++
 ...ConfigAutomaticDeploymentXmlExternalDirXml.java | 102 +++
 ...ConfigAutomaticDeploymentXmlExternalWarXml.java | 105 +++
 webapps/docs/changelog.xml |   3 +
 24 files changed, 2365 insertions(+), 1766 deletions(-)
 rename 
test/org/apache/catalina/startup/{TestHostConfigAutomaticDeploymentC.java => 
HostConfigAutomaticDeploymentBaseTest.java} (52%)
 delete mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentA.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentAddition.java
 delete mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentB.java
 copy test/{jakarta/servlet/http/TestCookieRFC6265Validator.java => 
org/apache/catalina/startup/TestHostConfigAutomaticDeploymentBrokenApp.java} 
(63%)
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentC8.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentContextClassName.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentCopyXML.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDeleteA.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDeleteB.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDeleteC.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDir.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentDirXml.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentModification.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentUnpackWAR.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentUpdateWarOffline.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentWar.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentWarXml.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentXml.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentXmlExternalDirXml.java
 create mode 100644 
test/org/apache/catalina/startup/TestHostConfigAutomaticDeploymentXmlExternalWarXml.java


-
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: Alphabetical order

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

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


The following commit(s) were added to refs/heads/11.0.x by this push:
 new 8af919e914 Alphabetical order
8af919e914 is described below

commit 8af919e914aa0f3890ba233b9e565931d14acdf3
Author: Mark Thomas 
AuthorDate: Mon Feb 3 16:46:48 2025 +

Alphabetical order
---
 java/org/apache/catalina/valves/LocalStrings.properties | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/java/org/apache/catalina/valves/LocalStrings.properties 
b/java/org/apache/catalina/valves/LocalStrings.properties
index a2ae718737..4f7bdfb213 100644
--- a/java/org/apache/catalina/valves/LocalStrings.properties
+++ b/java/org/apache/catalina/valves/LocalStrings.properties
@@ -141,6 +141,12 @@ jdbcAccessLogValve.exception=Exception performing insert 
access entry
 loadBalancerDrainingValve.draining=Load-balancer is in DISABLED state, 
draining this node
 loadBalancerDrainingValve.skip=Client is presenting a valid [{0}] cookie, 
re-balancing is being skipped
 
+parameterLimitValve.closeError=Error closing configuration
+parameterLimitValve.invalidLine=Each line must contain at least one '=' 
character. Invalid line [{0}]
+parameterLimitValve.noConfiguration=No configuration resource found [{0}]
+parameterLimitValve.readConfiguration=Read configuration from [/WEB-INF/{0}]
+parameterLimitValve.readError=Error reading configuration
+
 patternTokenizer.unexpectedParenthesis=Unexpected ')' in pattern
 
 persistentValve.acquireFailed=The request for [{0}] did not obtain the per 
session Semaphore as no permit was available
@@ -172,9 +178,3 @@ stuckThreadDetectionValve.interrupted=Thread interrupted 
after the request is fi
 stuckThreadDetectionValve.notifyStuckThreadCompleted=Thread [{0}] (id=[{3}]) 
was previously reported to be stuck but has completed. It was active for 
approximately [{1}] milliseconds.{2,choice,0#|0< There is/are still [{2}] 
thread(s) that are monitored by this Valve and may be stuck.}
 stuckThreadDetectionValve.notifyStuckThreadDetected=Thread [{0}] (id=[{6}]) 
has been active for [{1}] milliseconds (since [{2}]) to serve the same request 
for [{4}] and may be stuck (configured threshold for this 
StuckThreadDetectionValve is [{5}] seconds). There is/are [{3}] thread(s) in 
total that are monitored by this Valve and may be stuck.
 stuckThreadDetectionValve.notifyStuckThreadInterrupted=Thread [{0}] (id=[{5}]) 
has been interrupted because it was active for [{1}] milliseconds (since [{2}]) 
to serve the same request for [{3}] and was probably stuck (configured 
interruption threshold for this StuckThreadDetectionValve is [{4}] seconds).
-
-parameterLimitValve.closeError=Error closing configuration
-parameterLimitValve.invalidLine=Each line must contain at least one '=' 
character. Invalid line [{0}]
-parameterLimitValve.noConfiguration=No configuration resource found [{0}]
-parameterLimitValve.readConfiguration=Read configuration from [/WEB-INF/{0}]
-parameterLimitValve.readError=Error reading configuration
\ No newline at end of file


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



(tomcat) branch 11.0.x updated: Improvements to Japanese translations by tak7iji.

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

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


The following commit(s) were added to refs/heads/11.0.x by this push:
 new b6e0265ccc Improvements to Japanese translations by tak7iji.
b6e0265ccc is described below

commit b6e0265ccc29fefbcc7a87f24c140b2bbb53ae49
Author: Mark Thomas 
AuthorDate: Mon Feb 3 16:48:03 2025 +

Improvements to Japanese translations by tak7iji.
---
 java/org/apache/catalina/ha/session/LocalStrings_ja.properties | 4 ++--
 java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties | 2 +-
 java/org/apache/catalina/servlets/LocalStrings_ja.properties   | 2 ++
 java/org/apache/catalina/startup/LocalStrings_ja.properties| 1 +
 webapps/docs/changelog.xml | 3 +++
 5 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/java/org/apache/catalina/ha/session/LocalStrings_ja.properties 
b/java/org/apache/catalina/ha/session/LocalStrings_ja.properties
index 35a471cbc4..15634103cb 100644
--- a/java/org/apache/catalina/ha/session/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/ha/session/LocalStrings_ja.properties
@@ -31,7 +31,7 @@ deltaManager.createMessage.allSessionData=マネージャ [{0}] はすべての
 deltaManager.createMessage.allSessionTransferred=マネージャ [{0}] 
はすべてのセッションデータ転送を送信しました
 deltaManager.createMessage.delta=マネージャ [{0}]: セッション [{1}] のデルタリクエストメッセージを作成します
 deltaManager.createMessage.expire=マネージャ [{0}]: セッション [{1}] 
のセッションの期限切れメッセージを作成します
-deltaManager.createMessage.unableCreateDeltaRequest=セッションID 
[{0}]のDeltaRequestシリアライズできません。
+deltaManager.createMessage.unableCreateDeltaRequest=セッションID [{0}] の 
DeltaRequest がシリアライズできません
 deltaManager.createSession.newSession=DeltaSession (ID は [{0}]) を作成しました。総数は 
[{1}] です。
 deltaManager.dropMessage=マネージャ [{0}]: GET_ALL_SESSIONS同期フェーズの開始日 [{2}] 
メッセージの日付 [{3}] 内のメッセージ [{1}] をドロップします
 deltaManager.expireSessions=シャットダウン時にマネージャ [{0}] はセッションを満了します
@@ -91,5 +91,5 @@ jvmRoute.valve.started=JvmRouteBinderValve が起動しました。
 jvmRoute.valve.stopped=JvmRouteBinderValve が停止しました。
 
 standardSession.notSerializable=セッション[{1}]のセッション属性[{0}]をシリアライズできません。
-standardSession.removeAttribute.ise=removeAttribute: Session already 
invalidated
+standardSession.removeAttribute.ise=removeAttribute: セッションは既に無効化されています
 standardSession.setAttribute.namenull=setAttribute:nameパラメータをnullにすることはできません。
diff --git a/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties 
b/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
index 50aedc2917..2491777260 100644
--- a/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/ha/tcp/LocalStrings_ja.properties
@@ -24,7 +24,7 @@ ReplicationValve.filter.failure=フィルター文字列=[{0}] がコンパイ
 ReplicationValve.filter.loading=リクエストフィルタ= [{0}]のロード
 ReplicationValve.invoke.uri=[{0}]のレプリケーションリクエストを呼び出します。
 ReplicationValve.nocluster=このリクエストに対して構成されたクラスタはありません。
-ReplicationValve.resetDeltaRequest=クラスタはスタンドアロンである:コンテキスト [{0}] 
でセッションのデルタリクエストをリセットします
+ReplicationValve.resetDeltaRequest=クラスタはスタンドアロンです:コンテキスト [{0}] 
でセッションのデルタリクエストをリセットします
 ReplicationValve.send.failure=レプリケーションリクエストを実行できません。
 ReplicationValve.send.invalid.failure=セッション[id = {0}]無効メッセージをクラスタに送信できません。
 ReplicationValve.session.found=コンテキスト [{0}]: セッション [{1}] 
は見つかりましたが、クラスターセッションではありません
diff --git a/java/org/apache/catalina/servlets/LocalStrings_ja.properties 
b/java/org/apache/catalina/servlets/LocalStrings_ja.properties
index c56a57b4fd..d390e74d8c 100644
--- a/java/org/apache/catalina/servlets/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/servlets/LocalStrings_ja.properties
@@ -45,6 +45,8 @@ defaultServlet.blockExternalEntity2=エンティティ名 [{0}]、publicId 
[{1}]
 defaultServlet.blockExternalSubset=名前[{0}]およびベースURI 
[{1}]を持つ外部サブセットへのアクセスがブロックされました
 defaultServlet.directory.parent=[{0}] に移動
 defaultServlet.directory.title=[{0}] のディレクトリの一覧
+defaultServlet.globalXSLTTooBig=グローバル XSLT ファイル [{0}] はバッファリングするには大きすぎます
+defaultServlet.invalidRedirectStatusCode=無効なリダイレクトステータス コード [{0}]
 defaultServlet.missingResource=要求されたリソース [{0}] は利用できません。
 defaultServlet.noResources=静的リソースが見つかりません。
 defaultServlet.readerCloseFailed=readerのクローズに失敗しました
diff --git a/java/org/apache/catalina/startup/LocalStrings_ja.properties 
b/java/org/apache/catalina/startup/LocalStrings_ja.properties
index 26e940b627..3564fb98bc 100644
--- a/java/org/apache/catalina/startup/LocalStrings_ja.properties
+++ b/java/org/apache/catalina/startup/LocalStrings_ja.properties
@@ -75,6 +75,7 @@ 
contextConfig.invalidSciHandlesTypes=1つ以上のServletContentInitializersの@
 contextConfig.jarFile=Jar [{0}] のアノテーションを処理できません
 contextConfig.jspFile.error=JSPファイル [{0}] は''/''で始まらなければいけません
 contextConfig.jspFile.warning=警告: Servlet 2.4ではJSPファイル [{0}] 
は''/''で始まらなければいけません
+contextConfig.loadError=生成されたコードのロード中にエラーが発生しました
 contextConfig.missingRealm=認証するためにレルムが設定されていません
 contextConfig.noAntiLocking=java.io.tmpdirに設定された値[{0}]が有効なディレクトリを

[Bug 69539] Zero content length can be return with many concurrent requests

2025-02-03 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=69539

adrie...@opentext.com changed:

   What|Removed |Added

 CC||adrie...@opentext.com

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



Re: [PR] certificate regression [tomcat]

2025-02-03 Thread via GitHub


ChristopherSchultz commented on PR #815:
URL: https://github.com/apache/tomcat/pull/815#issuecomment-2631002992

   @rmaucher This is something worth mentioning in 
https://tomcat.apache.org/migration-9.html#Tomcat_9.0.x_noteable_changes for 
9.0.83 and similar releases in the other branches.


-- 
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] clean up org.apache.tomcat.util.http RequestUtil [tomcat]

2025-02-03 Thread via GitHub


markt-asf commented on code in PR #818:
URL: https://github.com/apache/tomcat/pull/818#discussion_r1939662587


##
java/org/apache/tomcat/util/http/RequestUtil.java:
##
@@ -145,7 +138,7 @@ public static boolean isSameOrigin(HttpServletRequest 
request, String origin) {
 // ports. Therefore only append the port to the target if a
 // non-default port is used.
 if (("http".equals(scheme) || "ws".equals(scheme)) && port != 80 ||
-("https".equals(scheme) || "wss".equals(scheme)) && port 
!= 443) {
+("https".equals(scheme) || "wss".equals(scheme)) && port != 
443) {

Review Comment:
   Incorrect indentation (the original was correct)



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