[Bug 69601] JDBC Pool "not a proxy instance"

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

--- Comment #2 from Detlef Brendle  ---
we are running tomcat using openjdk version "17.0.14" on a Ubuntu linux with
kernel 6.8.0-54-generic

-- 
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 69601] New: JDBC Pool "not a proxy instance"

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

Bug ID: 69601
   Summary: JDBC Pool "not a proxy instance"
   Product: Tomcat 10
   Version: 10.1.16
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: Util
  Assignee: dev@tomcat.apache.org
  Reporter: detlef.bren...@karakun.com
  Target Milestone: --

I am running a spring application within a tomcat 10.1.16 server.

The Application tries to persist data and throwns an error saying 'not a proxy
instance'

Here is the stacktrace:

Caused by: java.lang.IllegalArgumentException: not a proxy instance
at
java.base/java.lang.reflect.Proxy.getInvocationHandler(Proxy.java:1136) ~[?:?]
at
org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:97)
~[tomcat10-jdbc-10.1.16.jar:?]
at jdk.proxy2/jdk.proxy2.$Proxy270.equals(Unknown Source) ~[?:?]
at java.base/java.util.HashMap.putVal(HashMap.java:633) ~[?:?]
at java.base/java.util.HashMap.putIfAbsent(HashMap.java:1144) ~[?:?]
at
org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.register(ResourceRegistryStandardImpl.java:84)
~[hibernate-core-6.6.9.Final.jar:6.6.9.Final]
at
org.hibernate.engine.jdbc.internal.MutationStatementPreparerImpl$StatementPreparationTemplate.postProcess(MutationStatementPreparerImpl.java:124)
~[hibernate-core-6.6.9.Fina
l.jar:6.6.9.Final]
at
org.hibernate.engine.jdbc.internal.MutationStatementPreparerImpl$StatementPreparationTemplate.prepareStatement(MutationStatementPreparerImpl.java:113)
~[hibernate-core-6.6.9
.Final.jar:6.6.9.Final]


Not sure what causes this error.
I upgraded hibernate to the latest version, but even with that the error stays.

Any idea?

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



[Bug 69600] Add ipv6 link-local and unique local addresses to the default internalProxies

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

s.th...@elo.com changed:

   What|Removed |Added

 CC||s.th...@elo.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



[Bug 69600] New: Add ipv6 link-local and unique local addresses to the default internalProxies

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

Bug ID: 69600
   Summary: Add ipv6 link-local and unique local addresses to the
default internalProxies
   Product: Tomcat 10
   Version: 10.1.26
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: s.th...@elo.com
  Target Milestone: --

The RemoteIpFilter and RemoteIpValve support plenty of local addresses for IPv4
by default but for IPv6 only the localhost ::1 address is supported.

1. Per rfc4193 Unique Local IPv6 Unicast Adresses and
2. per rfc4291 section 2.5.6 Link-Local IPv6 Unicast Addresses, 

the IPv6 address spaces 
1. "fe80::/10" and 
2. "fc00::/7" 

should be added to the default internal proxies.

-- 
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 69601] JDBC Pool "not a proxy instance"

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

--- Comment #1 from Chuck Caldarale  ---
This likely belongs on the Tomcat users mailing list, not in bugzilla.

Regardless, you should include some description of the environment you're
running in, especially the JVM version.

-- 
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 69588] Allow linking subresources independent of in context.xml

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

--- Comment #1 from Mark Thomas  ---
If allowLinking is set to true at the  level, what happens to any
nested resource sets that are defined:

1. Nothing. allowLinking for the nested resource set is configured only on the
nested resource set.

2. The value set at the  level takes precedence and any value set on
the nested resource set is ignored.

3. The value set at the  level becomes the default for the nested
resource set but can be overridden on a nested resource set if required.

I'm leaning towards 3 as that will be backwards compatible with the existing
setting and allow per nested resource set configuration.

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



(tomcat) branch 9.0.x updated: Fix BZ 69598 - release service account token if it changes

2025-02-27 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 9c6830842a Fix BZ 69598 - release service account token if it changes
9c6830842a is described below

commit 9c6830842a8514a645212bb5fc98aa49c56e016a
Author: Mark Thomas 
AuthorDate: Thu Feb 27 08:49:20 2025 +

Fix BZ 69598 - release service account token if it changes
---
 .../cloud/KubernetesMembershipProvider.java| 41 --
 .../membership/cloud/LocalStrings.properties   |  1 +
 .../membership/cloud/TokenStreamProvider.java  |  9 -
 webapps/docs/changelog.xml |  9 +
 4 files changed, 57 insertions(+), 3 deletions(-)

diff --git 
a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
 
b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
index 4d4d35e5bd..59ff620b23 100644
--- 
a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
+++ 
b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
@@ -24,6 +24,8 @@ import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.FileSystems;
 import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.attribute.FileTime;
 import java.time.Duration;
 import java.time.Instant;
 import java.util.ArrayList;
@@ -43,8 +45,13 @@ import org.apache.tomcat.util.json.JSONParser;
  */
 
 public class KubernetesMembershipProvider extends CloudMembershipProvider {
+
 private static final Log log = 
LogFactory.getLog(KubernetesMembershipProvider.class);
 
+private Path saTokenPath;
+private FileTime saTokenLastModifiedTime;
+
+
 @Override
 public void start(int level) throws Exception {
 if ((level & MembershipService.MBR_RX) == 0) {
@@ -80,8 +87,10 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 saTokenFile = 
"/var/run/secrets/kubernetes.io/serviceaccount/token";
 }
 try {
-byte[] bytes = 
Files.readAllBytes(FileSystems.getDefault().getPath(saTokenFile));
+saTokenPath = FileSystems.getDefault().getPath(saTokenFile);
+byte[] bytes = Files.readAllBytes(saTokenPath);
 streamProvider = new TokenStreamProvider(new String(bytes, 
StandardCharsets.US_ASCII), caCertFile);
+saTokenLastModifiedTime = 
Files.getLastModifiedTime(saTokenPath);
 } catch (IOException e) {
 
log.error(sm.getString("kubernetesMembershipProvider.streamError"), e);
 }
@@ -122,6 +131,7 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 heartbeat();
 }
 
+
 @Override
 public boolean stop(int level) throws Exception {
 try {
@@ -131,12 +141,15 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 }
 }
 
+
 @Override
 protected Member[] fetchMembers() {
 if (streamProvider == null) {
 return new Member[0];
 }
 
+reloadSaTokenIfChanged();
+
 List members = new ArrayList<>();
 
 try (InputStream stream = streamProvider.openStream(url, headers, 
connectionTimeout, readTimeout);
@@ -149,6 +162,31 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 return members.toArray(new Member[0]);
 }
 
+
+private void reloadSaTokenIfChanged() {
+if (saTokenPath == null) {
+// Service account token not being used.
+return;
+}
+if (!Files.exists(saTokenPath)) {
+// If the service account token is being used, this path should 
exist
+
log.warn(sm.getString("kubernetesMembershipProvider.serviceAccountTokenMissing",
 saTokenPath));
+return;
+}
+try {
+FileTime oldSaTokenLastModifiedTime = saTokenLastModifiedTime;
+saTokenLastModifiedTime = Files.getLastModifiedTime(saTokenPath);
+// Use != to protect against clock issues
+if (!saTokenLastModifiedTime.equals(oldSaTokenLastModifiedTime)) {
+byte[] bytes = Files.readAllBytes(saTokenPath);
+((TokenStreamProvider)streamProvider).setToken(new 
String(bytes, StandardCharsets.US_ASCII));
+}
+} catch (IOException e) {
+
log.error(sm.getString("kubernetesMembershipProvider.streamError"), e);
+}
+}
+
+
 @SuppressWarnings("unchecked")
 protected void parsePods(Reader reader, List members) {
 JSONParser parser = new JSONParser(reader);
@@ -239,5 +277,4 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 log.error(sm.getString("

[Bug 69598] Reload service account token if changed in KubernetesMembershipProvider

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

Mark Thomas  changed:

   What|Removed |Added

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

--- Comment #1 from Mark Thomas  ---
Fixed in:
- 11.0.x for 11.0.5 onwards
- 10.1.x for 10.1.37 onwards
-  9.0.x for  9.0.101 onwards

Thanks for the patch. I changed a few small things but the bulk of it is as you
provided.

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



(tomcat) branch main updated: Fix BZ 69598 - release service account token if it changes

2025-02-27 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 adb9c7e7db Fix BZ 69598 - release service account token if it changes
adb9c7e7db is described below

commit adb9c7e7dbb559eff3520d059f24a90dd64dd6b0
Author: Mark Thomas 
AuthorDate: Thu Feb 27 08:49:20 2025 +

Fix BZ 69598 - release service account token if it changes
---
 .../cloud/KubernetesMembershipProvider.java| 41 --
 .../membership/cloud/LocalStrings.properties   |  1 +
 .../membership/cloud/TokenStreamProvider.java  |  9 -
 webapps/docs/changelog.xml | 10 ++
 4 files changed, 58 insertions(+), 3 deletions(-)

diff --git 
a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
 
b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
index 4d4d35e5bd..59ff620b23 100644
--- 
a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
+++ 
b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
@@ -24,6 +24,8 @@ import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.FileSystems;
 import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.attribute.FileTime;
 import java.time.Duration;
 import java.time.Instant;
 import java.util.ArrayList;
@@ -43,8 +45,13 @@ import org.apache.tomcat.util.json.JSONParser;
  */
 
 public class KubernetesMembershipProvider extends CloudMembershipProvider {
+
 private static final Log log = 
LogFactory.getLog(KubernetesMembershipProvider.class);
 
+private Path saTokenPath;
+private FileTime saTokenLastModifiedTime;
+
+
 @Override
 public void start(int level) throws Exception {
 if ((level & MembershipService.MBR_RX) == 0) {
@@ -80,8 +87,10 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 saTokenFile = 
"/var/run/secrets/kubernetes.io/serviceaccount/token";
 }
 try {
-byte[] bytes = 
Files.readAllBytes(FileSystems.getDefault().getPath(saTokenFile));
+saTokenPath = FileSystems.getDefault().getPath(saTokenFile);
+byte[] bytes = Files.readAllBytes(saTokenPath);
 streamProvider = new TokenStreamProvider(new String(bytes, 
StandardCharsets.US_ASCII), caCertFile);
+saTokenLastModifiedTime = 
Files.getLastModifiedTime(saTokenPath);
 } catch (IOException e) {
 
log.error(sm.getString("kubernetesMembershipProvider.streamError"), e);
 }
@@ -122,6 +131,7 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 heartbeat();
 }
 
+
 @Override
 public boolean stop(int level) throws Exception {
 try {
@@ -131,12 +141,15 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 }
 }
 
+
 @Override
 protected Member[] fetchMembers() {
 if (streamProvider == null) {
 return new Member[0];
 }
 
+reloadSaTokenIfChanged();
+
 List members = new ArrayList<>();
 
 try (InputStream stream = streamProvider.openStream(url, headers, 
connectionTimeout, readTimeout);
@@ -149,6 +162,31 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 return members.toArray(new Member[0]);
 }
 
+
+private void reloadSaTokenIfChanged() {
+if (saTokenPath == null) {
+// Service account token not being used.
+return;
+}
+if (!Files.exists(saTokenPath)) {
+// If the service account token is being used, this path should 
exist
+
log.warn(sm.getString("kubernetesMembershipProvider.serviceAccountTokenMissing",
 saTokenPath));
+return;
+}
+try {
+FileTime oldSaTokenLastModifiedTime = saTokenLastModifiedTime;
+saTokenLastModifiedTime = Files.getLastModifiedTime(saTokenPath);
+// Use != to protect against clock issues
+if (!saTokenLastModifiedTime.equals(oldSaTokenLastModifiedTime)) {
+byte[] bytes = Files.readAllBytes(saTokenPath);
+((TokenStreamProvider)streamProvider).setToken(new 
String(bytes, StandardCharsets.US_ASCII));
+}
+} catch (IOException e) {
+
log.error(sm.getString("kubernetesMembershipProvider.streamError"), e);
+}
+}
+
+
 @SuppressWarnings("unchecked")
 protected void parsePods(Reader reader, List members) {
 JSONParser parser = new JSONParser(reader);
@@ -239,5 +277,4 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 log.error(sm.getString("k

(tomcat) branch 10.1.x updated: Fix BZ 69598 - release service account token if it changes

2025-02-27 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 b94da20d8b Fix BZ 69598 - release service account token if it changes
b94da20d8b is described below

commit b94da20d8b8802343cd2d7a36af0b7b1c8affcf7
Author: Mark Thomas 
AuthorDate: Thu Feb 27 08:49:20 2025 +

Fix BZ 69598 - release service account token if it changes
---
 .../cloud/KubernetesMembershipProvider.java| 41 --
 .../membership/cloud/LocalStrings.properties   |  1 +
 .../membership/cloud/TokenStreamProvider.java  |  9 -
 webapps/docs/changelog.xml |  9 +
 4 files changed, 57 insertions(+), 3 deletions(-)

diff --git 
a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
 
b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
index 4d4d35e5bd..59ff620b23 100644
--- 
a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
+++ 
b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
@@ -24,6 +24,8 @@ import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.FileSystems;
 import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.attribute.FileTime;
 import java.time.Duration;
 import java.time.Instant;
 import java.util.ArrayList;
@@ -43,8 +45,13 @@ import org.apache.tomcat.util.json.JSONParser;
  */
 
 public class KubernetesMembershipProvider extends CloudMembershipProvider {
+
 private static final Log log = 
LogFactory.getLog(KubernetesMembershipProvider.class);
 
+private Path saTokenPath;
+private FileTime saTokenLastModifiedTime;
+
+
 @Override
 public void start(int level) throws Exception {
 if ((level & MembershipService.MBR_RX) == 0) {
@@ -80,8 +87,10 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 saTokenFile = 
"/var/run/secrets/kubernetes.io/serviceaccount/token";
 }
 try {
-byte[] bytes = 
Files.readAllBytes(FileSystems.getDefault().getPath(saTokenFile));
+saTokenPath = FileSystems.getDefault().getPath(saTokenFile);
+byte[] bytes = Files.readAllBytes(saTokenPath);
 streamProvider = new TokenStreamProvider(new String(bytes, 
StandardCharsets.US_ASCII), caCertFile);
+saTokenLastModifiedTime = 
Files.getLastModifiedTime(saTokenPath);
 } catch (IOException e) {
 
log.error(sm.getString("kubernetesMembershipProvider.streamError"), e);
 }
@@ -122,6 +131,7 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 heartbeat();
 }
 
+
 @Override
 public boolean stop(int level) throws Exception {
 try {
@@ -131,12 +141,15 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 }
 }
 
+
 @Override
 protected Member[] fetchMembers() {
 if (streamProvider == null) {
 return new Member[0];
 }
 
+reloadSaTokenIfChanged();
+
 List members = new ArrayList<>();
 
 try (InputStream stream = streamProvider.openStream(url, headers, 
connectionTimeout, readTimeout);
@@ -149,6 +162,31 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 return members.toArray(new Member[0]);
 }
 
+
+private void reloadSaTokenIfChanged() {
+if (saTokenPath == null) {
+// Service account token not being used.
+return;
+}
+if (!Files.exists(saTokenPath)) {
+// If the service account token is being used, this path should 
exist
+
log.warn(sm.getString("kubernetesMembershipProvider.serviceAccountTokenMissing",
 saTokenPath));
+return;
+}
+try {
+FileTime oldSaTokenLastModifiedTime = saTokenLastModifiedTime;
+saTokenLastModifiedTime = Files.getLastModifiedTime(saTokenPath);
+// Use != to protect against clock issues
+if (!saTokenLastModifiedTime.equals(oldSaTokenLastModifiedTime)) {
+byte[] bytes = Files.readAllBytes(saTokenPath);
+((TokenStreamProvider)streamProvider).setToken(new 
String(bytes, StandardCharsets.US_ASCII));
+}
+} catch (IOException e) {
+
log.error(sm.getString("kubernetesMembershipProvider.streamError"), e);
+}
+}
+
+
 @SuppressWarnings("unchecked")
 protected void parsePods(Reader reader, List members) {
 JSONParser parser = new JSONParser(reader);
@@ -239,5 +277,4 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 log.error(sm.getString

(tomcat) branch 11.0.x updated: Fix BZ 69598 - release service account token if it changes

2025-02-27 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 4bd459138f Fix BZ 69598 - release service account token if it changes
4bd459138f is described below

commit 4bd459138fe2a3465443c664b441305c0c4f97ce
Author: Mark Thomas 
AuthorDate: Thu Feb 27 08:49:20 2025 +

Fix BZ 69598 - release service account token if it changes
---
 .../cloud/KubernetesMembershipProvider.java| 41 --
 .../membership/cloud/LocalStrings.properties   |  1 +
 .../membership/cloud/TokenStreamProvider.java  |  9 -
 webapps/docs/changelog.xml |  9 +
 4 files changed, 57 insertions(+), 3 deletions(-)

diff --git 
a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
 
b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
index 4d4d35e5bd..59ff620b23 100644
--- 
a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
+++ 
b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
@@ -24,6 +24,8 @@ import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.FileSystems;
 import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.attribute.FileTime;
 import java.time.Duration;
 import java.time.Instant;
 import java.util.ArrayList;
@@ -43,8 +45,13 @@ import org.apache.tomcat.util.json.JSONParser;
  */
 
 public class KubernetesMembershipProvider extends CloudMembershipProvider {
+
 private static final Log log = 
LogFactory.getLog(KubernetesMembershipProvider.class);
 
+private Path saTokenPath;
+private FileTime saTokenLastModifiedTime;
+
+
 @Override
 public void start(int level) throws Exception {
 if ((level & MembershipService.MBR_RX) == 0) {
@@ -80,8 +87,10 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 saTokenFile = 
"/var/run/secrets/kubernetes.io/serviceaccount/token";
 }
 try {
-byte[] bytes = 
Files.readAllBytes(FileSystems.getDefault().getPath(saTokenFile));
+saTokenPath = FileSystems.getDefault().getPath(saTokenFile);
+byte[] bytes = Files.readAllBytes(saTokenPath);
 streamProvider = new TokenStreamProvider(new String(bytes, 
StandardCharsets.US_ASCII), caCertFile);
+saTokenLastModifiedTime = 
Files.getLastModifiedTime(saTokenPath);
 } catch (IOException e) {
 
log.error(sm.getString("kubernetesMembershipProvider.streamError"), e);
 }
@@ -122,6 +131,7 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 heartbeat();
 }
 
+
 @Override
 public boolean stop(int level) throws Exception {
 try {
@@ -131,12 +141,15 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 }
 }
 
+
 @Override
 protected Member[] fetchMembers() {
 if (streamProvider == null) {
 return new Member[0];
 }
 
+reloadSaTokenIfChanged();
+
 List members = new ArrayList<>();
 
 try (InputStream stream = streamProvider.openStream(url, headers, 
connectionTimeout, readTimeout);
@@ -149,6 +162,31 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 return members.toArray(new Member[0]);
 }
 
+
+private void reloadSaTokenIfChanged() {
+if (saTokenPath == null) {
+// Service account token not being used.
+return;
+}
+if (!Files.exists(saTokenPath)) {
+// If the service account token is being used, this path should 
exist
+
log.warn(sm.getString("kubernetesMembershipProvider.serviceAccountTokenMissing",
 saTokenPath));
+return;
+}
+try {
+FileTime oldSaTokenLastModifiedTime = saTokenLastModifiedTime;
+saTokenLastModifiedTime = Files.getLastModifiedTime(saTokenPath);
+// Use != to protect against clock issues
+if (!saTokenLastModifiedTime.equals(oldSaTokenLastModifiedTime)) {
+byte[] bytes = Files.readAllBytes(saTokenPath);
+((TokenStreamProvider)streamProvider).setToken(new 
String(bytes, StandardCharsets.US_ASCII));
+}
+} catch (IOException e) {
+
log.error(sm.getString("kubernetesMembershipProvider.streamError"), e);
+}
+}
+
+
 @SuppressWarnings("unchecked")
 protected void parsePods(Reader reader, List members) {
 JSONParser parser = new JSONParser(reader);
@@ -239,5 +277,4 @@ public class KubernetesMembershipProvider extends 
CloudMembershipProvider {
 log.error(sm.getString

(tomcat) branch 10.1.x updated: Code clean-up - formatting. No functional change

2025-02-27 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 0368baaedd Code clean-up - formatting. No functional change
0368baaedd is described below

commit 0368baaedd67b92c41f331b3996d89bec3f790ba
Author: Mark Thomas 
AuthorDate: Thu Feb 27 14:52:06 2025 +

Code clean-up - formatting. No functional change
---
 java/org/apache/jasper/el/ELContextImpl.java   |  8 ++--
 java/org/apache/jasper/el/ELResolverImpl.java  | 15 +++-
 .../apache/jasper/el/ExpressionEvaluatorImpl.java  | 12 ++
 java/org/apache/jasper/el/ExpressionImpl.java  |  3 +-
 java/org/apache/jasper/el/JasperELResolver.java| 43 --
 java/org/apache/jasper/el/JspMethodExpression.java | 12 ++
 .../jasper/el/JspPropertyNotFoundException.java|  3 +-
 .../jasper/el/JspPropertyNotWritableException.java |  3 +-
 java/org/apache/jasper/el/JspValueExpression.java  | 18 +++--
 9 files changed, 41 insertions(+), 76 deletions(-)

diff --git a/java/org/apache/jasper/el/ELContextImpl.java 
b/java/org/apache/jasper/el/ELContextImpl.java
index 273c1f161b..aa28897229 100644
--- a/java/org/apache/jasper/el/ELContextImpl.java
+++ b/java/org/apache/jasper/el/ELContextImpl.java
@@ -53,7 +53,7 @@ public class ELContextImpl extends ELContext {
 
 private static final class VariableMapperImpl extends VariableMapper {
 
-private Map vars;
+private Map vars;
 
 @Override
 public ValueExpression resolveVariable(String variable) {
@@ -64,8 +64,7 @@ public class ELContextImpl extends ELContext {
 }
 
 @Override
-public ValueExpression setVariable(String variable,
-ValueExpression expression) {
+public ValueExpression setVariable(String variable, ValueExpression 
expression) {
 if (vars == null) {
 vars = new HashMap<>();
 }
@@ -84,8 +83,7 @@ public class ELContextImpl extends ELContext {
 DefaultResolver = null;
 } else {
 DefaultResolver = new CompositeELResolver();
-((CompositeELResolver) DefaultResolver).add(
-ELManager.getExpressionFactory().getStreamELResolver());
+((CompositeELResolver) 
DefaultResolver).add(ELManager.getExpressionFactory().getStreamELResolver());
 ((CompositeELResolver) DefaultResolver).add(new 
StaticFieldELResolver());
 ((CompositeELResolver) DefaultResolver).add(new MapELResolver());
 ((CompositeELResolver) DefaultResolver).add(new 
ResourceBundleELResolver());
diff --git a/java/org/apache/jasper/el/ELResolverImpl.java 
b/java/org/apache/jasper/el/ELResolverImpl.java
index e2c389f30f..a5fe68493a 100644
--- a/java/org/apache/jasper/el/ELResolverImpl.java
+++ b/java/org/apache/jasper/el/ELResolverImpl.java
@@ -32,8 +32,7 @@ public final class ELResolverImpl extends ELResolver {
 private final VariableResolver variableResolver;
 private final ELResolver elResolver;
 
-public ELResolverImpl(VariableResolver variableResolver,
-ExpressionFactory factory) {
+public ELResolverImpl(VariableResolver variableResolver, ExpressionFactory 
factory) {
 this.variableResolver = variableResolver;
 this.elResolver = ELContextImpl.getDefaultResolver(factory);
 }
@@ -46,8 +45,7 @@ public final class ELResolverImpl extends ELResolver {
 context.setPropertyResolved(base, property);
 if (property != null) {
 try {
-return this.variableResolver.resolveVariable(property
-.toString());
+return 
this.variableResolver.resolveVariable(property.toString());
 } catch (jakarta.servlet.jsp.el.ELException e) {
 throw new ELException(e.getMessage(), e.getCause());
 }
@@ -68,8 +66,7 @@ public final class ELResolverImpl extends ELResolver {
 context.setPropertyResolved(base, property);
 if (property != null) {
 try {
-Object obj = this.variableResolver.resolveVariable(property
-.toString());
+Object obj = 
this.variableResolver.resolveVariable(property.toString());
 return (obj != null) ? obj.getClass() : null;
 } catch (jakarta.servlet.jsp.el.ELException e) {
 throw new ELException(e.getMessage(), e.getCause());
@@ -84,14 +81,12 @@ public final class ELResolverImpl extends ELResolver {
 }
 
 @Override
-public void setValue(ELContext context, Object base, Object property,
-Object value) {
+public void setValue(ELContext context, Object base, Object property, 
Object value) {
 Objects.requireNonNull(cont

(tomcat) branch 9.0.x updated: Code clean-up - formatting. No functional change

2025-02-27 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 eaff455ab3 Code clean-up - formatting. No functional change
eaff455ab3 is described below

commit eaff455ab311016c59d86df81a88f34270b42262
Author: Mark Thomas 
AuthorDate: Thu Feb 27 14:52:27 2025 +

Code clean-up - formatting. No functional change
---
 java/org/apache/jasper/el/ELContextImpl.java   |  8 ++--
 java/org/apache/jasper/el/ELContextWrapper.java|  3 +-
 java/org/apache/jasper/el/ELResolverImpl.java  | 15 +++-
 .../apache/jasper/el/ExpressionEvaluatorImpl.java  | 12 ++
 java/org/apache/jasper/el/ExpressionImpl.java  |  3 +-
 java/org/apache/jasper/el/JasperELResolver.java| 43 --
 java/org/apache/jasper/el/JspMethodExpression.java | 12 ++
 .../jasper/el/JspPropertyNotFoundException.java|  3 +-
 .../jasper/el/JspPropertyNotWritableException.java |  3 +-
 java/org/apache/jasper/el/JspValueExpression.java  | 18 +++--
 10 files changed, 42 insertions(+), 78 deletions(-)

diff --git a/java/org/apache/jasper/el/ELContextImpl.java 
b/java/org/apache/jasper/el/ELContextImpl.java
index f2e2267983..e944f547d6 100644
--- a/java/org/apache/jasper/el/ELContextImpl.java
+++ b/java/org/apache/jasper/el/ELContextImpl.java
@@ -53,7 +53,7 @@ public class ELContextImpl extends ELContext {
 
 private static final class VariableMapperImpl extends VariableMapper {
 
-private Map vars;
+private Map vars;
 
 @Override
 public ValueExpression resolveVariable(String variable) {
@@ -64,8 +64,7 @@ public class ELContextImpl extends ELContext {
 }
 
 @Override
-public ValueExpression setVariable(String variable,
-ValueExpression expression) {
+public ValueExpression setVariable(String variable, ValueExpression 
expression) {
 if (vars == null) {
 vars = new HashMap<>();
 }
@@ -84,8 +83,7 @@ public class ELContextImpl extends ELContext {
 DefaultResolver = null;
 } else {
 DefaultResolver = new CompositeELResolver();
-((CompositeELResolver) DefaultResolver).add(
-ELManager.getExpressionFactory().getStreamELResolver());
+((CompositeELResolver) 
DefaultResolver).add(ELManager.getExpressionFactory().getStreamELResolver());
 ((CompositeELResolver) DefaultResolver).add(new 
StaticFieldELResolver());
 ((CompositeELResolver) DefaultResolver).add(new MapELResolver());
 ((CompositeELResolver) DefaultResolver).add(new 
ResourceBundleELResolver());
diff --git a/java/org/apache/jasper/el/ELContextWrapper.java 
b/java/org/apache/jasper/el/ELContextWrapper.java
index 4800ec627b..3eefdf4f66 100644
--- a/java/org/apache/jasper/el/ELContextWrapper.java
+++ b/java/org/apache/jasper/el/ELContextWrapper.java
@@ -72,8 +72,7 @@ public final class ELContextWrapper extends ELContext {
 }
 
 @Override
-public void putContext(@SuppressWarnings("rawtypes") Class key,
-Object contextObject) throws NullPointerException {
+public void putContext(@SuppressWarnings("rawtypes") Class key, Object 
contextObject) throws NullPointerException {
 this.target.putContext(key, contextObject);
 }
 
diff --git a/java/org/apache/jasper/el/ELResolverImpl.java 
b/java/org/apache/jasper/el/ELResolverImpl.java
index 99a6f73ffb..91c3885c68 100644
--- a/java/org/apache/jasper/el/ELResolverImpl.java
+++ b/java/org/apache/jasper/el/ELResolverImpl.java
@@ -32,8 +32,7 @@ public final class ELResolverImpl extends ELResolver {
 private final VariableResolver variableResolver;
 private final ELResolver elResolver;
 
-public ELResolverImpl(VariableResolver variableResolver,
-ExpressionFactory factory) {
+public ELResolverImpl(VariableResolver variableResolver, ExpressionFactory 
factory) {
 this.variableResolver = variableResolver;
 this.elResolver = ELContextImpl.getDefaultResolver(factory);
 }
@@ -46,8 +45,7 @@ public final class ELResolverImpl extends ELResolver {
 context.setPropertyResolved(base, property);
 if (property != null) {
 try {
-return this.variableResolver.resolveVariable(property
-.toString());
+return 
this.variableResolver.resolveVariable(property.toString());
 } catch (javax.servlet.jsp.el.ELException e) {
 throw new ELException(e.getMessage(), e.getCause());
 }
@@ -68,8 +66,7 @@ public final class ELResolverImpl extends ELResolver {
 context.setPropertyResolved(base, property);
 if (property != null) {
 try {
-Object 

(tomcat) branch 11.0.x updated: Code clean-up - formatting. No functional change

2025-02-27 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 100bb929cc Code clean-up - formatting. No functional change
100bb929cc is described below

commit 100bb929ccc1e4cb7b75f7c4f5c2e1b32148d089
Author: Mark Thomas 
AuthorDate: Thu Feb 27 14:51:22 2025 +

Code clean-up - formatting. No functional change
---
 java/org/apache/jasper/el/ELContextImpl.java   |  8 ++---
 java/org/apache/jasper/el/JasperELResolver.java| 40 --
 java/org/apache/jasper/el/JspMethodExpression.java | 12 +++
 .../jasper/el/JspPropertyNotFoundException.java|  3 +-
 .../jasper/el/JspPropertyNotWritableException.java |  3 +-
 java/org/apache/jasper/el/JspValueExpression.java  | 18 --
 6 files changed, 30 insertions(+), 54 deletions(-)

diff --git a/java/org/apache/jasper/el/ELContextImpl.java 
b/java/org/apache/jasper/el/ELContextImpl.java
index 6b9f86f6e6..ec911507e4 100644
--- a/java/org/apache/jasper/el/ELContextImpl.java
+++ b/java/org/apache/jasper/el/ELContextImpl.java
@@ -51,7 +51,7 @@ public class ELContextImpl extends ELContext {
 
 private static final class VariableMapperImpl extends VariableMapper {
 
-private Map vars;
+private Map vars;
 
 @Override
 public ValueExpression resolveVariable(String variable) {
@@ -62,8 +62,7 @@ public class ELContextImpl extends ELContext {
 }
 
 @Override
-public ValueExpression setVariable(String variable,
-ValueExpression expression) {
+public ValueExpression setVariable(String variable, ValueExpression 
expression) {
 if (vars == null) {
 vars = new HashMap<>();
 }
@@ -79,8 +78,7 @@ public class ELContextImpl extends ELContext {
 
 static {
 DefaultResolver = new CompositeELResolver();
-((CompositeELResolver) DefaultResolver).add(
-ELManager.getExpressionFactory().getStreamELResolver());
+((CompositeELResolver) 
DefaultResolver).add(ELManager.getExpressionFactory().getStreamELResolver());
 ((CompositeELResolver) DefaultResolver).add(new 
StaticFieldELResolver());
 ((CompositeELResolver) DefaultResolver).add(new MapELResolver());
 ((CompositeELResolver) DefaultResolver).add(new 
ResourceBundleELResolver());
diff --git a/java/org/apache/jasper/el/JasperELResolver.java 
b/java/org/apache/jasper/el/JasperELResolver.java
index 8af1f7c2e1..c32884ac3f 100644
--- a/java/org/apache/jasper/el/JasperELResolver.java
+++ b/java/org/apache/jasper/el/JasperELResolver.java
@@ -42,8 +42,7 @@ import org.apache.jasper.runtime.ExceptionUtils;
 import org.apache.jasper.runtime.JspRuntimeLibrary;
 
 /**
- * Jasper-specific CompositeELResolver that optimizes certain functions to 
avoid
- * unnecessary resolver calls.
+ * Jasper-specific CompositeELResolver that optimizes certain functions to 
avoid unnecessary resolver calls.
  */
 public class JasperELResolver extends CompositeELResolver {
 
@@ -54,8 +53,7 @@ public class JasperELResolver extends CompositeELResolver {
 private volatile ELResolver[] resolvers;
 private final int appResolversSize;
 
-public JasperELResolver(List appResolvers,
-ELResolver streamResolver) {
+public JasperELResolver(List appResolvers, ELResolver 
streamResolver) {
 appResolversSize = appResolvers.size();
 resolvers = new ELResolver[appResolversSize + 
STANDARD_RESOLVERS_COUNT];
 
@@ -99,7 +97,7 @@ public class JasperELResolver extends CompositeELResolver {
 
 @Override
 public Object getValue(ELContext context, Object base, Object property)
-throws NullPointerException, PropertyNotFoundException, ELException {
+throws NullPointerException, PropertyNotFoundException, 
ELException {
 context.setPropertyResolved(false);
 
 int start;
@@ -137,8 +135,7 @@ public class JasperELResolver extends CompositeELResolver {
 }
 
 @Override
-public Object invoke(ELContext context, Object base, Object method,
-Class[] paramTypes, Object[] params) {
+public Object invoke(ELContext context, Object base, Object method, 
Class[] paramTypes, Object[] params) {
 String targetMethod = coerceToString(method);
 if (targetMethod.length() == 0) {
 throw new ELException(new NoSuchMethodException());
@@ -150,11 +147,9 @@ public class JasperELResolver extends CompositeELResolver {
 
 // skip implicit and call app resolvers, stream resolver and static
 // resolver
-int index = 1 /* implicit */ + appResolversSize +
-2 /* stream + static */;
+int index = 1 /* implicit */ + appResolversSize + 2 /* stream + static 
*/;
 for (int i = 1; i < index; i++) {
-result = resolvers[i].invo

(tomcat) branch main updated: Code clean-up - formatting. No functional change

2025-02-27 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 114191befd Code clean-up - formatting. No functional change
114191befd is described below

commit 114191befd63566d466854488a6a1d75ed593e0a
Author: Mark Thomas 
AuthorDate: Thu Feb 27 14:51:03 2025 +

Code clean-up - formatting. No functional change
---
 java/org/apache/jasper/el/ELContextImpl.java   |  8 ++---
 java/org/apache/jasper/el/JasperELResolver.java| 40 --
 java/org/apache/jasper/el/JspMethodExpression.java | 12 +++
 .../jasper/el/JspPropertyNotFoundException.java|  3 +-
 .../jasper/el/JspPropertyNotWritableException.java |  3 +-
 java/org/apache/jasper/el/JspValueExpression.java  | 18 --
 6 files changed, 30 insertions(+), 54 deletions(-)

diff --git a/java/org/apache/jasper/el/ELContextImpl.java 
b/java/org/apache/jasper/el/ELContextImpl.java
index 6b9f86f6e6..ec911507e4 100644
--- a/java/org/apache/jasper/el/ELContextImpl.java
+++ b/java/org/apache/jasper/el/ELContextImpl.java
@@ -51,7 +51,7 @@ public class ELContextImpl extends ELContext {
 
 private static final class VariableMapperImpl extends VariableMapper {
 
-private Map vars;
+private Map vars;
 
 @Override
 public ValueExpression resolveVariable(String variable) {
@@ -62,8 +62,7 @@ public class ELContextImpl extends ELContext {
 }
 
 @Override
-public ValueExpression setVariable(String variable,
-ValueExpression expression) {
+public ValueExpression setVariable(String variable, ValueExpression 
expression) {
 if (vars == null) {
 vars = new HashMap<>();
 }
@@ -79,8 +78,7 @@ public class ELContextImpl extends ELContext {
 
 static {
 DefaultResolver = new CompositeELResolver();
-((CompositeELResolver) DefaultResolver).add(
-ELManager.getExpressionFactory().getStreamELResolver());
+((CompositeELResolver) 
DefaultResolver).add(ELManager.getExpressionFactory().getStreamELResolver());
 ((CompositeELResolver) DefaultResolver).add(new 
StaticFieldELResolver());
 ((CompositeELResolver) DefaultResolver).add(new MapELResolver());
 ((CompositeELResolver) DefaultResolver).add(new 
ResourceBundleELResolver());
diff --git a/java/org/apache/jasper/el/JasperELResolver.java 
b/java/org/apache/jasper/el/JasperELResolver.java
index 8af1f7c2e1..c32884ac3f 100644
--- a/java/org/apache/jasper/el/JasperELResolver.java
+++ b/java/org/apache/jasper/el/JasperELResolver.java
@@ -42,8 +42,7 @@ import org.apache.jasper.runtime.ExceptionUtils;
 import org.apache.jasper.runtime.JspRuntimeLibrary;
 
 /**
- * Jasper-specific CompositeELResolver that optimizes certain functions to 
avoid
- * unnecessary resolver calls.
+ * Jasper-specific CompositeELResolver that optimizes certain functions to 
avoid unnecessary resolver calls.
  */
 public class JasperELResolver extends CompositeELResolver {
 
@@ -54,8 +53,7 @@ public class JasperELResolver extends CompositeELResolver {
 private volatile ELResolver[] resolvers;
 private final int appResolversSize;
 
-public JasperELResolver(List appResolvers,
-ELResolver streamResolver) {
+public JasperELResolver(List appResolvers, ELResolver 
streamResolver) {
 appResolversSize = appResolvers.size();
 resolvers = new ELResolver[appResolversSize + 
STANDARD_RESOLVERS_COUNT];
 
@@ -99,7 +97,7 @@ public class JasperELResolver extends CompositeELResolver {
 
 @Override
 public Object getValue(ELContext context, Object base, Object property)
-throws NullPointerException, PropertyNotFoundException, ELException {
+throws NullPointerException, PropertyNotFoundException, 
ELException {
 context.setPropertyResolved(false);
 
 int start;
@@ -137,8 +135,7 @@ public class JasperELResolver extends CompositeELResolver {
 }
 
 @Override
-public Object invoke(ELContext context, Object base, Object method,
-Class[] paramTypes, Object[] params) {
+public Object invoke(ELContext context, Object base, Object method, 
Class[] paramTypes, Object[] params) {
 String targetMethod = coerceToString(method);
 if (targetMethod.length() == 0) {
 throw new ELException(new NoSuchMethodException());
@@ -150,11 +147,9 @@ public class JasperELResolver extends CompositeELResolver {
 
 // skip implicit and call app resolvers, stream resolver and static
 // resolver
-int index = 1 /* implicit */ + appResolversSize +
-2 /* stream + static */;
+int index = 1 /* implicit */ + appResolversSize + 2 /* stream + static 
*/;
 for (int i = 1; i < index; i++) {
-result = resolvers[i].invoke(

svn commit: r1924081 - /tomcat/site/trunk/xdocs/whoweare.xml

2025-02-27 Thread jengebr
Author: jengebr
Date: Thu Feb 27 14:43:53 2025
New Revision: 1924081

URL: http://svn.apache.org/viewvc?rev=1924081&view=rev
Log:
Add new committer - John Engebretson

Modified:
tomcat/site/trunk/xdocs/whoweare.xml

Modified: tomcat/site/trunk/xdocs/whoweare.xml
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/whoweare.xml?rev=1924081&r1=1924080&r2=1924081&view=diff
==
--- tomcat/site/trunk/xdocs/whoweare.xml (original)
+++ tomcat/site/trunk/xdocs/whoweare.xml Thu Feb 27 14:43:53 2025
@@ -162,6 +162,9 @@ A complete list of all the Apache Commit
 Huxing Zhang (huxing at apache.org)
 
 
+John Engebretson (jengebr at apache.org)
+
+
 
 
 



-
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: Update APR/Native connector deprecation

2025-02-27 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 4dea075ced Update APR/Native connector deprecation
4dea075ced is described below

commit 4dea075cedb531329f78ecfc9912e42a29c22679
Author: Mark Thomas 
AuthorDate: Thu Feb 27 15:18:03 2025 +

Update APR/Native connector deprecation
---
 java/org/apache/coyote/ProtocolHandler.java  | 2 +-
 java/org/apache/coyote/ajp/AjpAprProtocol.java   | 3 ++-
 java/org/apache/coyote/http11/Http11AprProtocol.java | 3 ++-
 java/org/apache/tomcat/jni/Address.java  | 1 +
 java/org/apache/tomcat/jni/BIOCallback.java  | 2 +-
 java/org/apache/tomcat/jni/Directory.java| 1 +
 java/org/apache/tomcat/jni/Error.java| 2 +-
 java/org/apache/tomcat/jni/File.java | 1 +
 java/org/apache/tomcat/jni/FileInfo.java | 1 +
 java/org/apache/tomcat/jni/Global.java   | 1 +
 java/org/apache/tomcat/jni/Local.java| 1 +
 java/org/apache/tomcat/jni/Lock.java | 1 +
 java/org/apache/tomcat/jni/Mmap.java | 1 +
 java/org/apache/tomcat/jni/Multicast.java| 1 +
 java/org/apache/tomcat/jni/OS.java   | 1 +
 java/org/apache/tomcat/jni/PasswordCallback.java | 2 +-
 java/org/apache/tomcat/jni/Poll.java | 1 +
 java/org/apache/tomcat/jni/PoolCallback.java | 1 +
 java/org/apache/tomcat/jni/Proc.java | 1 +
 java/org/apache/tomcat/jni/ProcErrorCallback.java| 1 +
 java/org/apache/tomcat/jni/Procattr.java | 1 +
 java/org/apache/tomcat/jni/Registry.java | 1 +
 java/org/apache/tomcat/jni/SSLSocket.java| 1 +
 java/org/apache/tomcat/jni/Shm.java  | 1 +
 java/org/apache/tomcat/jni/Sockaddr.java | 1 +
 java/org/apache/tomcat/jni/Socket.java   | 1 +
 java/org/apache/tomcat/jni/Status.java   | 1 +
 java/org/apache/tomcat/jni/Stdlib.java   | 1 +
 java/org/apache/tomcat/jni/Thread.java   | 1 +
 java/org/apache/tomcat/jni/Time.java | 1 +
 java/org/apache/tomcat/jni/User.java | 1 +
 java/org/apache/tomcat/util/net/AprEndpoint.java | 4 ++--
 java/org/apache/tomcat/util/net/AprSSLSupport.java   | 4 ++--
 33 files changed, 37 insertions(+), 10 deletions(-)

diff --git a/java/org/apache/coyote/ProtocolHandler.java 
b/java/org/apache/coyote/ProtocolHandler.java
index 1a6fc1fa9e..50a2525579 100644
--- a/java/org/apache/coyote/ProtocolHandler.java
+++ b/java/org/apache/coyote/ProtocolHandler.java
@@ -152,7 +152,7 @@ public interface ProtocolHandler {
  *
  * @return true if this Protocol Handler requires the 
APR/native library, otherwise false
  *
- * @deprecated This method will be removed in Tomcat 10.1.x onwards
+ * @deprecated  This method will be removed in Tomcat 9.1.x onwards and 
has been removed from Tomcat 10.1.x onwards.
  */
 @Deprecated
 boolean isAprRequired();
diff --git a/java/org/apache/coyote/ajp/AjpAprProtocol.java 
b/java/org/apache/coyote/ajp/AjpAprProtocol.java
index e43d1fbc91..0c75a1714a 100644
--- a/java/org/apache/coyote/ajp/AjpAprProtocol.java
+++ b/java/org/apache/coyote/ajp/AjpAprProtocol.java
@@ -24,7 +24,8 @@ import org.apache.tomcat.util.net.AprEndpoint;
 /**
  * This the APR/native based protocol handler implementation for AJP.
  *
- * @deprecated The APR/Native Connector will be removed in Tomcat 10.1.x 
onwards.
+ * @deprecated  The APR/Native Connector will be removed in Tomcat 9.1.x
+ *  onwards and has been removed from Tomcat 10.1.x onwards.
  */
 @Deprecated
 public class AjpAprProtocol extends AbstractAjpProtocol {
diff --git a/java/org/apache/coyote/http11/Http11AprProtocol.java 
b/java/org/apache/coyote/http11/Http11AprProtocol.java
index 51766a81b7..4c6ecbcad3 100644
--- a/java/org/apache/coyote/http11/Http11AprProtocol.java
+++ b/java/org/apache/coyote/http11/Http11AprProtocol.java
@@ -24,7 +24,8 @@ import org.apache.tomcat.util.net.AprEndpoint;
 /**
  * HTTP/1.1 protocol implementation using APR/native.
  *
- * @deprecated The APR/Native Connector will be removed in Tomcat 10.1.x 
onwards.
+ * @deprecated  The APR/Native Connector will be removed in Tomcat 9.1.x
+ *  onwards and has been removed from Tomcat 10.1.x onwards.
  */
 @Deprecated
 public class Http11AprProtocol extends AbstractHttp11Protocol {
diff --git a/java/org/apache/tomcat/jni/Address.java 
b/java/org/apache/tomcat/jni/Address.java
index a245f21f4d..8080154882 100644
--- a/java/org/apache/tomcat/jni/Address.java
+++ b/java/org/apache/tomcat/jni/Address.java
@@ -22,6 +22,7 @@ package org.apache.tomcat.jni;
  * @author Mladen Turk
  *
  * @deprecated  The scope of the APR/Native Library will be reduced in To

[Bug 69588] Allow linking subresources independent of in context.xml

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

--- Comment #3 from Christopher Schultz  ---
(In reply to Michael Osipov from comment #2)
> If [not] locally not set, inherit from parent.

This certainly upholds the Principle of Least Surprise.

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



svn commit: r1924082 - /tomcat/site/trunk/docs/whoweare.html

2025-02-27 Thread jengebr
Author: jengebr
Date: Thu Feb 27 15:33:23 2025
New Revision: 1924082

URL: http://svn.apache.org/viewvc?rev=1924082&view=rev
Log:
Add new committer - John Engebretson

Modified:
tomcat/site/trunk/docs/whoweare.html

Modified: tomcat/site/trunk/docs/whoweare.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/whoweare.html?rev=1924082&r1=1924081&r2=1924082&view=diff
==
--- tomcat/site/trunk/docs/whoweare.html (original)
+++ tomcat/site/trunk/docs/whoweare.html Thu Feb 27 15:33:23 2025
@@ -152,6 +152,9 @@ A complete list of all the Apache Commit
 Huxing Zhang (huxing at apache.org)
 
 
+John Engebretson (jengebr at apache.org)
+
+
 Emeritus PMC members
 
 http://www.apache.org/foundation/glossary.html#Emeritus";>



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



[Bug 69588] Allow linking subresources independent of in context.xml

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

--- Comment #2 from Michael Osipov  ---
(In reply to Mark Thomas from comment #1)
> If allowLinking is set to true at the  level, what happens to any
> nested resource sets that are defined:
> 
> 1. Nothing. allowLinking for the nested resource set is configured only on
> the nested resource set.
> 
> 2. The value set at the  level takes precedence and any value set
> on the nested resource set is ignored.
> 
> 3. The value set at the  level becomes the default for the nested
> resource set but can be overridden on a nested resource set if required.
> 
> I'm leaning towards 3 as that will be backwards compatible with the existing
> setting and allow per nested resource set configuration.

I agree with you and think 3 makes sense here. If locally not set, inherit from
parent.

-- 
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 failure in on tomcat-9.0.x

2025-02-27 Thread buildbot
Build status: BUILD FAILED: failed compile (failure)
Worker used: bb_worker2_ubuntu
URL: https://ci2.apache.org/#builders/37/builds/1289
Blamelist: Mark Thomas 
Build Text: failed compile (failure)
Status Detected: new failure
Build Source Stamp: [branch 9.0.x] 9c6830842a8514a645212bb5fc98aa49c56e016a


Steps:

  worker_preparation: 0

  git: 0

  shell: 0

  shell_1: 0

  shell_2: 0

  shell_3: 0

  shell_4: 0

  shell_5: 0

  compile: 1

  shell_6: 0

  shell_7: 0

  shell_8: 0

  shell_9: 0

  Rsync docs to nightlies.apache.org: 0

  shell_10: 0

  Rsync RAT to nightlies.apache.org: 0

  compile_1: 2

  shell_11: 0

  Rsync Logs to nightlies.apache.org: 0


-- ASF Buildbot


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