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 89192df457 Align with 10.1.x 89192df457 is described below commit 89192df4573ce1ce1f09a29f0155dffdc6a2d54c Author: Mark Thomas <ma...@apache.org> AuthorDate: Wed Mar 8 19:04:40 2023 +0000 Align with 10.1.x --- .../apache/tomcat/websocket/PerMessageDeflate.java | 6 +- .../tomcat/websocket/TestWsWebSocketContainer.java | 36 ---------- .../websocket/TestWsWebSocketContainerSSL.java | 76 ++++++++++++++++++++++ 3 files changed, 79 insertions(+), 39 deletions(-) diff --git a/java/org/apache/tomcat/websocket/PerMessageDeflate.java b/java/org/apache/tomcat/websocket/PerMessageDeflate.java index eaaf4b6c67..4bc97b8199 100644 --- a/java/org/apache/tomcat/websocket/PerMessageDeflate.java +++ b/java/org/apache/tomcat/websocket/PerMessageDeflate.java @@ -94,7 +94,7 @@ public class PerMessageDeflate implements Transformation { throw new IllegalArgumentException(sm.getString("perMessageDeflate.invalidWindowSize", SERVER_MAX_WINDOW_BITS, Integer.valueOf(serverMaxWindowBits))); } - // Java SE API (as of Java 8) does not expose the API to + // Java SE API (as of Java 11) does not expose the API to // control the Window size. It is effectively hard-coded // to 15 if (isServer && serverMaxWindowBits != 15) { @@ -114,7 +114,7 @@ public class PerMessageDeflate implements Transformation { if (clientMaxWindowBits == -1) { if (param.getValue() == null) { // Hint to server that the client supports this - // option. Java SE API (as of Java 8) does not + // option. Java SE API (as of Java 11) does not // expose the API to control the Window size. It is // effectively hard-coded to 15 clientMaxWindowBits = 15; @@ -125,7 +125,7 @@ public class PerMessageDeflate implements Transformation { CLIENT_MAX_WINDOW_BITS, Integer.valueOf(clientMaxWindowBits))); } } - // Java SE API (as of Java 8) does not expose the API to + // Java SE API (as of Java 11) does not expose the API to // control the Window size. It is effectively hard-coded // to 15 if (!isServer && clientMaxWindowBits != 15) { diff --git a/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java b/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java index 5087396b5a..1fab006848 100644 --- a/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java +++ b/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java @@ -46,7 +46,6 @@ import org.junit.Test; import org.apache.catalina.Context; import org.apache.catalina.servlets.DefaultServlet; import org.apache.catalina.startup.Tomcat; -import org.apache.tomcat.util.net.TesterSupport; import org.apache.tomcat.websocket.TesterMessageCountClient.BasicBinary; import org.apache.tomcat.websocket.TesterMessageCountClient.BasicHandler; import org.apache.tomcat.websocket.TesterMessageCountClient.BasicText; @@ -508,41 +507,6 @@ public class TestWsWebSocketContainer extends WsWebSocketContainerBaseTest { } - @Test - public void testConnectToServerEndpointSSL() throws Exception { - - Tomcat tomcat = getTomcatInstance(); - // No file system docBase required - Context ctx = tomcat.addContext("", null); - ctx.addApplicationListener(TesterEchoServer.Config.class.getName()); - Tomcat.addServlet(ctx, "default", new DefaultServlet()); - ctx.addServletMappingDecoded("/", "default"); - - TesterSupport.initSsl(tomcat); - - tomcat.start(); - - WebSocketContainer wsContainer = ContainerProvider.getWebSocketContainer(); - ClientEndpointConfig clientEndpointConfig = ClientEndpointConfig.Builder.create().build(); - clientEndpointConfig.getUserProperties().put(org.apache.tomcat.websocket.Constants.SSL_TRUSTSTORE_PROPERTY, - TesterSupport.CA_JKS); - Session wsSession = wsContainer.connectToServer(TesterProgrammaticEndpoint.class, clientEndpointConfig, - new URI("wss://" + getHostName() + ":" + getPort() + TesterEchoServer.Config.PATH_ASYNC)); - CountDownLatch latch = new CountDownLatch(1); - BasicText handler = new BasicText(latch); - wsSession.addMessageHandler(handler); - wsSession.getBasicRemote().sendText(MESSAGE_STRING_1); - - boolean latchResult = handler.getLatch().await(10, TimeUnit.SECONDS); - - Assert.assertTrue(latchResult); - - Queue<String> messages = handler.getMessages(); - Assert.assertEquals(1, messages.size()); - Assert.assertEquals(MESSAGE_STRING_1, messages.peek()); - } - - @Test public void testMaxMessageSize01() throws Exception { doMaxMessageSize(TesterEchoServer.Config.PATH_BASIC_LIMIT_LOW, TesterEchoServer.BasicLimitLow.MAX_SIZE - 1, diff --git a/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSSL.java b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSSL.java new file mode 100644 index 0000000000..eb44ac6aed --- /dev/null +++ b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSSL.java @@ -0,0 +1,76 @@ +/* + * 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 org.apache.tomcat.websocket; + +import java.net.URI; +import java.util.Queue; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import javax.websocket.ClientEndpointConfig; +import javax.websocket.ContainerProvider; +import javax.websocket.Session; +import javax.websocket.WebSocketContainer; + +import org.junit.Assert; +import org.junit.Test; + +import org.apache.catalina.Context; +import org.apache.catalina.servlets.DefaultServlet; +import org.apache.catalina.startup.Tomcat; +import org.apache.tomcat.util.net.TesterSupport; +import org.apache.tomcat.websocket.TesterMessageCountClient.BasicText; +import org.apache.tomcat.websocket.TesterMessageCountClient.TesterProgrammaticEndpoint; + +public class TestWsWebSocketContainerSSL extends WebSocketBaseTest { + + private static final String MESSAGE_STRING_1 = "qwerty"; + + @Test + public void testConnectToServerEndpointSSL() throws Exception { + + Tomcat tomcat = getTomcatInstance(); + // No file system docBase required + Context ctx = tomcat.addContext("", null); + ctx.addApplicationListener(TesterEchoServer.Config.class.getName()); + Tomcat.addServlet(ctx, "default", new DefaultServlet()); + ctx.addServletMappingDecoded("/", "default"); + + TesterSupport.initSsl(tomcat); + + tomcat.start(); + + WebSocketContainer wsContainer = ContainerProvider.getWebSocketContainer(); + ClientEndpointConfig clientEndpointConfig = ClientEndpointConfig.Builder.create().build(); + clientEndpointConfig.getUserProperties().put(org.apache.tomcat.websocket.Constants.SSL_TRUSTSTORE_PROPERTY, + TesterSupport.CA_JKS); + Session wsSession = wsContainer.connectToServer(TesterProgrammaticEndpoint.class, clientEndpointConfig, + new URI("wss://localhost" + ":" + getPort() + TesterEchoServer.Config.PATH_ASYNC)); + CountDownLatch latch = new CountDownLatch(1); + BasicText handler = new BasicText(latch); + wsSession.addMessageHandler(handler); + wsSession.getBasicRemote().sendText(MESSAGE_STRING_1); + + boolean latchResult = handler.getLatch().await(10, TimeUnit.SECONDS); + + Assert.assertTrue(latchResult); + + Queue<String> messages = handler.getMessages(); + Assert.assertEquals(1, messages.size()); + Assert.assertEquals(MESSAGE_STRING_1, messages.peek()); + } +} --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org