This is an automated email from the ASF dual-hosted git repository. markt-asf pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 45bdbcd37bf7fd6f22a4b94084894c2bd230741e Author: Mark Thomas <[email protected]> AuthorDate: Fri Oct 23 11:21:49 2026 +0100 Fix backports --- .../tribes/group/interceptors/TcpFailureDetector.java | 2 +- .../tribes/membership/StaticMembershipProvider.java | 2 +- java/org/apache/catalina/tribes/transport/ReceiverBase.java | 4 ++-- .../catalina/tribes/transport/ReplicationTransmitter.java | 6 +++--- .../apache/catalina/tribes/transport/nio/NioReceiver.java | 13 +++++++------ .../apache/catalina/tribes/transport/nio/TlsChannel.java | 10 ++++++---- .../apache/tomcat/util/net/SSLHostConfigPreSharedKey.java | 2 -- 7 files changed, 20 insertions(+), 19 deletions(-) diff --git a/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java b/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java index ee10f0962e..f0c0b9f1e4 100644 --- a/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java +++ b/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java @@ -686,7 +686,7 @@ public class TcpFailureDetector extends ChannelInterceptorBase implements TcpFai return false; } - boolean channelSecure = getChannel() instanceof GroupChannel groupChannel && groupChannel.getSecure(); + boolean channelSecure = getChannel() instanceof GroupChannel && ((GroupChannel) getChannel()).getSecure(); boolean useSecurePort = channelSecure || mbr.getSecurePort() >= 0 && mbr.getPort() < 0; int port = useSecurePort ? mbr.getSecurePort() : mbr.getPort(); if (port < 0) { diff --git a/java/org/apache/catalina/tribes/membership/StaticMembershipProvider.java b/java/org/apache/catalina/tribes/membership/StaticMembershipProvider.java index 6a19941f1f..0701e2064a 100644 --- a/java/org/apache/catalina/tribes/membership/StaticMembershipProvider.java +++ b/java/org/apache/catalina/tribes/membership/StaticMembershipProvider.java @@ -436,7 +436,7 @@ public class StaticMembershipProvider extends MembershipProviderBase } private Member[] getAliveMembers(Member[] members) { - boolean channelSecure = channel instanceof GroupChannel groupChannel && groupChannel.getSecure(); + boolean channelSecure = channel instanceof GroupChannel && ((GroupChannel) channel).getSecure(); List<Member> aliveMembers = new ArrayList<>(); for (Member member : members) { boolean useSecurePort = channelSecure || member.getSecurePort() >= 0 && member.getPort() < 0; diff --git a/java/org/apache/catalina/tribes/transport/ReceiverBase.java b/java/org/apache/catalina/tribes/transport/ReceiverBase.java index 0c379d6136..b48601dbdf 100644 --- a/java/org/apache/catalina/tribes/transport/ReceiverBase.java +++ b/java/org/apache/catalina/tribes/transport/ReceiverBase.java @@ -281,8 +281,8 @@ public abstract class ReceiverBase implements ChannelReceiver, ListenCallback, R String type; if (secure) { setSecurePort(port); - if (getChannel() instanceof GroupChannel groupChannel) { - type = groupChannel.getSslContext().getImplementationName(); + if (getChannel() instanceof GroupChannel) { + type = ((GroupChannel) getChannel()).getSslContext().getImplementationName(); } else { type = "secure"; } diff --git a/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java b/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java index 7a58edf22f..4b58f2b7df 100644 --- a/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java +++ b/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java @@ -71,7 +71,7 @@ public class ReplicationTransmitter implements ChannelSender { @Override public void sendMessage(ChannelMessage message, Member[] destination) throws ChannelException { - if (channel instanceof GroupChannel groupChannel && groupChannel.getSecure()) { + if (channel instanceof GroupChannel && ((GroupChannel) channel).getSecure()) { message.setOptions(message.getOptions() | Channel.SEND_OPTIONS_SECURE); } MultiPointSender sender = getTransport(); @@ -152,8 +152,8 @@ public class ReplicationTransmitter implements ChannelSender { @Override public void setChannel(Channel channel) { this.channel = channel; - if (transport instanceof AbstractSender sender && channel instanceof GroupChannel groupChannel) { - sender.setSslContext(groupChannel.getSslContext()); + if (transport instanceof AbstractSender && channel instanceof GroupChannel) { + ((AbstractSender) transport).setSslContext(((GroupChannel) channel).getSslContext()); } } diff --git a/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java b/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java index 42a17b0232..f1cb27a0be 100644 --- a/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java +++ b/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java @@ -87,11 +87,11 @@ public class NioReceiver extends ReceiverBase implements Runnable, NioReceiverMB if (getSecurePort() < 0) { return; } - if (!(getChannel() instanceof GroupChannel groupChannel)) { + if (!(getChannel() instanceof GroupChannel)) { return; } - if (groupChannel.getSslContext() == null) { - if (groupChannel.getSecure()) { + if (((GroupChannel) getChannel()).getSslContext() == null) { + if (((GroupChannel) getChannel()).getSecure()) { throw new IOException(sm.getString("nioReceiver.tlsUnavailable")); } setSecurePort(-1); @@ -100,7 +100,8 @@ public class NioReceiver extends ReceiverBase implements Runnable, NioReceiverMB secureServerChannel = ServerSocketChannel.open(); bind(secureServerChannel.socket(), getSecurePort(), getAutoBind(), true); secureConnectionSlots = new Semaphore(Math.max(1, getMaxTasks())); - Thread thread = new Thread(() -> runSecureListener(groupChannel.getSslContext()), "NioReceiver-TLS"); + Thread thread = + new Thread(() -> runSecureListener(((GroupChannel) getChannel()).getSslContext()), "NioReceiver-TLS"); thread.setDaemon(true); thread.start(); } @@ -211,7 +212,7 @@ public class NioReceiver extends ReceiverBase implements Runnable, NioReceiverMB secureSockets.clear(); secureConnectionSlots = null; super.stop(); - if ((getChannel() instanceof GroupChannel groupChannel) && groupChannel.getSecure()) { + if (getChannel() instanceof GroupChannel && ((GroupChannel) getChannel()).getSecure()) { try { // Should stop a lot faster than this as all the sockets have been closed. if (!getExecutor().awaitTermination(60, TimeUnit.SECONDS)) { @@ -239,7 +240,7 @@ public class NioReceiver extends ReceiverBase implements Runnable, NioReceiverMB try { resolveBind(); getBind(); - boolean tlsOnly = getChannel() instanceof GroupChannel groupChannel && groupChannel.getSecure(); + boolean tlsOnly = getChannel() instanceof GroupChannel && ((GroupChannel) getChannel()).getSecure(); if (!tlsOnly) { bind(); } diff --git a/java/org/apache/catalina/tribes/transport/nio/TlsChannel.java b/java/org/apache/catalina/tribes/transport/nio/TlsChannel.java index 55fb277761..8fb323d565 100644 --- a/java/org/apache/catalina/tribes/transport/nio/TlsChannel.java +++ b/java/org/apache/catalina/tribes/transport/nio/TlsChannel.java @@ -59,13 +59,14 @@ final class TlsChannel implements ByteChannel { HandshakeStatus status = engine.getHandshakeStatus(); while (status != HandshakeStatus.FINISHED && status != HandshakeStatus.NOT_HANDSHAKING) { switch (status) { - case NEED_TASK -> { + case NEED_TASK: { Runnable task; while ((task = engine.getDelegatedTask()) != null) { task.run(); } + break; } - case NEED_WRAP -> { + case NEED_WRAP: { networkOutput.clear(); SSLEngineResult result = engine.wrap(EMPTY, networkOutput); if (result.getStatus() == Status.BUFFER_OVERFLOW) { @@ -80,11 +81,12 @@ final class TlsChannel implements ByteChannel { status = result.getHandshakeStatus(); continue; } - case NEED_UNWRAP, NEED_UNWRAP_AGAIN -> { + case NEED_UNWRAP: + case NEED_UNWRAP_AGAIN: { status = unwrapHandshake(); continue; } - default -> { + default: { // FINISHED and NOT_HANDSHAKING are handled by the loop condition. } } diff --git a/java/org/apache/tomcat/util/net/SSLHostConfigPreSharedKey.java b/java/org/apache/tomcat/util/net/SSLHostConfigPreSharedKey.java index 545b90a5c9..f455778054 100644 --- a/java/org/apache/tomcat/util/net/SSLHostConfigPreSharedKey.java +++ b/java/org/apache/tomcat/util/net/SSLHostConfigPreSharedKey.java @@ -16,7 +16,6 @@ */ package org.apache.tomcat.util.net; -import java.io.Serial; import java.io.Serializable; import java.util.Locale; @@ -28,7 +27,6 @@ import org.apache.tomcat.util.net.openssl.ciphers.MessageDigest; */ public class SSLHostConfigPreSharedKey implements Serializable { - @Serial private static final long serialVersionUID = 1L; /** --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
