This is an automated email from the ASF dual-hosted git repository.

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

commit 635b5952f54a8518fec8d7868d8abdc78b94aafb
Author: Mark Thomas <[email protected]>
AuthorDate: Thu Sep 24 14:54:17 2026 +0100

    Complete securePort support for DNS membership (untested)
---
 .../catalina/tribes/membership/cloud/CloudMembershipProvider.java | 6 ++++++
 .../catalina/tribes/membership/cloud/DNSMembershipProvider.java   | 8 ++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git 
a/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java 
b/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java
index b0ba470f2f..3839136fce 100644
--- 
a/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java
+++ 
b/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java
@@ -91,6 +91,11 @@ public abstract class CloudMembershipProvider extends 
MembershipProviderBase imp
      */
     protected int port;
 
+    /**
+     * The local secure port number.
+     */
+    protected int securePort;
+
     /**
      * Member expiration time in milliseconds.
      */
@@ -174,6 +179,7 @@ public abstract class CloudMembershipProvider extends 
MembershipProviderBase imp
 
         localIp = InetAddress.getLocalHost().getHostAddress();
         port = Integer.parseInt(properties.getProperty("tcpListenPort"));
+        securePort = Integer.parseInt(properties.getProperty("tcpSecurePort"));
     }
 
     @Override
diff --git 
a/java/org/apache/catalina/tribes/membership/cloud/DNSMembershipProvider.java 
b/java/org/apache/catalina/tribes/membership/cloud/DNSMembershipProvider.java
index 15d8b0d827..c117e54603 100644
--- 
a/java/org/apache/catalina/tribes/membership/cloud/DNSMembershipProvider.java
+++ 
b/java/org/apache/catalina/tribes/membership/cloud/DNSMembershipProvider.java
@@ -41,10 +41,8 @@ import org.apache.juli.logging.LogFactory;
  * cluster member in DNS and adds that node to the cluster. The DNS entry is, 
effectively, used by new nodes to identify
  * the other nodes in the cluster to which cluster messages should be sent.
  * <p>
- * If more control is required over cluster membership, users are strongly 
encouraged to use
- * {@link KubernetesMembershipProvider} instead. Alternatively, the
- * {@link org.apache.catalina.tribes.group.interceptors.EncryptInterceptor} 
may be used to ensure that only nodes with
- * knowledge of the shared key are able to participate in the cluster.
+ * If more control is required over cluster membership, users are strongly 
encouraged to configure a securePort and use
+ * TLS to ensure that only nodes with knowledge of the shared key are able to 
participate in the cluster.
  * <p>
  * TODO: Make the "accept messages from any node and add that node to the 
cluster" behaviour optional.
  * <p>
@@ -184,6 +182,7 @@ public class DNSMembershipProvider extends 
CloudMembershipProvider {
             MemberImpl member;
             try {
                 member = new MemberImpl(ip, port, aliveTime);
+                member.setSecurePort(securePort);
             } catch (IOException ioe) {
                 log.error(sm.getString("dnsMembershipProvider.memberError"), 
ioe);
                 continue;
@@ -212,6 +211,7 @@ public class DNSMembershipProvider extends 
CloudMembershipProvider {
             MemberImpl member = new MemberImpl();
             member.setHost(sender.getHost());
             member.setPort(sender.getPort());
+            member.setSecurePort(sender.getSecurePort());
             byte[] host = sender.getHost();
             int i = 0;
             StringBuilder buf = new StringBuilder();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to