From 00f05cb94e2dcd86523202bee380776d58a06240 Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Tue, 29 Sep 2020 18:47:34 +1000 Subject: [PATCH 01/38] Issue #5320 - reproduce failure to load httpClient for WebSocketClient in webapp Signed-off-by: Lachlan Roberts --- .../websocket/client/HttpClientProvider.java | 8 +- .../client/XmlBasedHttpClientProvider.java | 5 +- tests/test-distribution/pom.xml | 12 ++ .../tests/distribution/DistributionTests.java | 99 +++++++++++++++++ tests/test-webapps/pom.xml | 1 + .../test-websocket-client-webapp/pom.xml | 33 ++++++ .../tests/webapp/websocket/EchoEndpoint.java | 32 ++++++ .../websocket/WebSocketClientServlet.java | 104 ++++++++++++++++++ .../resources/jetty-websocket-httpclient.xml | 22 ++++ .../src/main/webapp/WEB-INF/web.xml | 8 ++ 10 files changed, 316 insertions(+), 8 deletions(-) create mode 100644 tests/test-webapps/test-websocket-client-webapp/pom.xml create mode 100644 tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/EchoEndpoint.java create mode 100644 tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java create mode 100644 tests/test-webapps/test-websocket-client-webapp/src/main/resources/jetty-websocket-httpclient.xml create mode 100644 tests/test-webapps/test-websocket-client-webapp/src/main/webapp/WEB-INF/web.xml diff --git a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/HttpClientProvider.java b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/HttpClientProvider.java index e2c89dab64d..cc7a5fa9d08 100644 --- a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/HttpClientProvider.java +++ b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/HttpClientProvider.java @@ -35,15 +35,13 @@ public final class HttpClientProvider Class xmlClazz = Class.forName("org.eclipse.jetty.websocket.client.XmlBasedHttpClientProvider"); Method getMethod = xmlClazz.getMethod("get", WebSocketContainerScope.class); Object ret = getMethod.invoke(null, scope); - if ((ret != null) && (ret instanceof HttpClient)) - { + if (ret instanceof HttpClient) return (HttpClient)ret; - } } } - catch (Throwable ignore) + catch (Throwable t) { - Log.getLogger(HttpClientProvider.class).ignore(ignore); + Log.getLogger(HttpClientProvider.class).ignore(t); } return DefaultHttpClientProvider.newHttpClient(scope); diff --git a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java index e4a7a09199f..a90a944efbc 100644 --- a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java +++ b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java @@ -22,6 +22,7 @@ import java.net.URL; import org.eclipse.jetty.client.HttpClient; import org.eclipse.jetty.util.log.Log; +import org.eclipse.jetty.util.resource.Resource; import org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope; import org.eclipse.jetty.xml.XmlConfiguration; @@ -31,13 +32,11 @@ class XmlBasedHttpClientProvider { URL resource = Thread.currentThread().getContextClassLoader().getResource("jetty-websocket-httpclient.xml"); if (resource == null) - { return null; - } try { - XmlConfiguration configuration = new XmlConfiguration(resource); + XmlConfiguration configuration = new XmlConfiguration(Resource.newResource(resource)); return (HttpClient)configuration.configure(); } catch (Throwable t) diff --git a/tests/test-distribution/pom.xml b/tests/test-distribution/pom.xml index 04d73c9fcb9..d247df72629 100644 --- a/tests/test-distribution/pom.xml +++ b/tests/test-distribution/pom.xml @@ -102,6 +102,18 @@ ${project.version} test + + org.eclipse.jetty.websocket + websocket-api + ${project.version} + test + + + org.eclipse.jetty.websocket + websocket-client + ${project.version} + test + org.eclipse.jetty.tests test-felix-webapp diff --git a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java index 72bd88c0bd6..2b2fc91e358 100644 --- a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java +++ b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java @@ -19,9 +19,11 @@ package org.eclipse.jetty.tests.distribution; import java.io.File; +import java.net.URI; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import org.eclipse.jetty.client.HttpClient; @@ -31,12 +33,18 @@ import org.eclipse.jetty.http2.client.HTTP2Client; import org.eclipse.jetty.http2.client.http.HttpClientTransportOverHTTP2; import org.eclipse.jetty.unixsocket.UnixSocketConnector; import org.eclipse.jetty.unixsocket.client.HttpClientTransportOverUnixSockets; +import org.eclipse.jetty.util.BlockingArrayQueue; import org.eclipse.jetty.util.IO; import org.eclipse.jetty.util.StringUtil; import org.eclipse.jetty.util.ssl.SslContextFactory; +import org.eclipse.jetty.websocket.api.Session; +import org.eclipse.jetty.websocket.api.WebSocketListener; +import org.eclipse.jetty.websocket.client.WebSocketClient; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.DisabledOnJre; import org.junit.jupiter.api.condition.JRE; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.containsString; @@ -301,4 +309,95 @@ public class DistributionTests extends AbstractDistributionTest IO.delete(jettyBase.toFile()); } } + + @ParameterizedTest + @ValueSource(strings = {"", "--jpms"}) + @DisabledOnJre({JRE.JAVA_14, JRE.JAVA_15}) + public void testWebsocketClientInWebapp(String arg) throws Exception + { + Path jettyBase = Files.createTempDirectory("jetty_base"); + String jettyVersion = System.getProperty("jettyVersion"); + DistributionTester distribution = DistributionTester.Builder.newInstance() + .jettyVersion(jettyVersion) + .jettyBase(jettyBase) + .mavenLocalRepository(System.getProperty("mavenRepoPath")) + .build(); + + String[] args1 = { + "--create-startd", + "--approve-all-licenses", + "--add-to-start=resources,server,http,webapp,deploy,jsp,jmx,servlet,servlets,websocket" + }; + try (DistributionTester.Run run1 = distribution.start(args1)) + { + assertTrue(run1.awaitFor(5, TimeUnit.SECONDS)); + assertEquals(0, run1.getExitValue()); + + File webApp = distribution.resolveArtifact("org.eclipse.jetty.tests:test-websocket-client-webapp:war:" + jettyVersion); + distribution.installWarFile(webApp, "test"); + + int port = distribution.freePort(); + String[] args2 = { + arg, + "jetty.http.port=" + port, + // "jetty.server.dumpAfterStart=true", + // "jetty.webapp.addSystemClasses+=,org.eclipse.jetty.client.", + // "jetty.webapp.addServerClasses+=,-org.eclipse.jetty.client.", + // "jetty.webapp.addSystemClasses+=,org.eclipse.jetty.util.ssl.", + // "jetty.webapp.addServerClasses+=,-org.eclipse.jetty.util.ssl.", + // "jetty.webapp.addSystemClasses+=,org.eclipse.jetty.util.component.", + // "jetty.webapp.addServerClasses+=,-org.eclipse.jetty.util.component." + }; + + try (DistributionTester.Run run2 = distribution.start(args2)) + { + assertTrue(run2.awaitConsoleLogsFor("Started @", 10, TimeUnit.SECONDS)); + + // We should get the correct configuration from the jetty-websocket-httpclient.xml file. + startHttpClient(); + URI serverUri = URI.create("ws://localhost:" + port + "/test"); + ContentResponse response = client.GET(serverUri); + assertEquals(HttpStatus.OK_200, response.getStatus()); + String content = response.getContentAsString(); + System.err.println(content); + assertThat(content, containsString("ConnectTimeout: 4999")); + assertThat(content, containsString("WebSocketEcho: success")); + } + } + } + + public static class WsListener implements WebSocketListener + { + public BlockingArrayQueue textMessages = new BlockingArrayQueue<>(); + public final CountDownLatch closeLatch = new CountDownLatch(1); + public int closeCode; + + @Override + public void onWebSocketClose(int statusCode, String reason) + { + this.closeCode = statusCode; + closeLatch.countDown(); + } + + @Override + public void onWebSocketConnect(Session session) + { + } + + @Override + public void onWebSocketError(Throwable cause) + { + } + + @Override + public void onWebSocketBinary(byte[] payload, int offset, int len) + { + } + + @Override + public void onWebSocketText(String message) + { + textMessages.add(message); + } + } } diff --git a/tests/test-webapps/pom.xml b/tests/test-webapps/pom.xml index f7b81a61182..e57b053ca11 100644 --- a/tests/test-webapps/pom.xml +++ b/tests/test-webapps/pom.xml @@ -44,5 +44,6 @@ test-cdi-common-webapp test-weld-cdi-webapp test-owb-cdi-webapp + test-websocket-client-webapp diff --git a/tests/test-webapps/test-websocket-client-webapp/pom.xml b/tests/test-webapps/test-websocket-client-webapp/pom.xml new file mode 100644 index 00000000000..6bd4a5cb9e3 --- /dev/null +++ b/tests/test-webapps/test-websocket-client-webapp/pom.xml @@ -0,0 +1,33 @@ + + + + org.eclipse.jetty.tests + test-webapps-parent + 9.4.32-SNAPSHOT + + + 4.0.0 + test-websocket-client-webapp + war + + Test :: Jetty Websocket Simple Webapp with WebSocketClient + + + + javax.servlet + javax.servlet-api + provided + + + javax.websocket + javax.websocket-api + provided + + + org.eclipse.jetty.websocket + websocket-client + ${project.version} + provided + + + diff --git a/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/EchoEndpoint.java b/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/EchoEndpoint.java new file mode 100644 index 00000000000..2120c5d7cca --- /dev/null +++ b/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/EchoEndpoint.java @@ -0,0 +1,32 @@ +// +// ======================================================================== +// Copyright (c) 1995-2020 Mort Bay Consulting Pty Ltd and others. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.tests.webapp.websocket; + +import javax.websocket.OnMessage; +import javax.websocket.server.ServerEndpoint; + +@ServerEndpoint(value = "/echo") +public class EchoEndpoint +{ + @OnMessage + public String echo(String message) + { + return message; + } +} diff --git a/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java b/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java new file mode 100644 index 00000000000..2b026ac5a80 --- /dev/null +++ b/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java @@ -0,0 +1,104 @@ +// +// ======================================================================== +// Copyright (c) 1995-2020 Mort Bay Consulting Pty Ltd and others. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.tests.webapp.websocket; + +import java.io.IOException; +import java.net.URI; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.eclipse.jetty.util.component.LifeCycle; +import org.eclipse.jetty.websocket.api.Session; +import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose; +import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect; +import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage; +import org.eclipse.jetty.websocket.api.annotations.WebSocket; +import org.eclipse.jetty.websocket.api.util.WSURI; +import org.eclipse.jetty.websocket.client.WebSocketClient; + +@WebServlet("/") +public class WebSocketClientServlet extends HttpServlet +{ + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException + { + + WebSocketClient client = null; + try + { + client = new WebSocketClient(); + LifeCycle.start(client); + resp.setContentType("text/html"); + resp.getWriter().println("ConnectTimeout: " + client.getHttpClient().getConnectTimeout()); + + ClientSocket clientSocket = new ClientSocket(); + URI wsUri = WSURI.toWebsocket(req.getRequestURL()).resolve("echo"); + client.connect(clientSocket, wsUri); + clientSocket.openLatch.await(5, TimeUnit.SECONDS); + clientSocket.session.getRemote().sendString("test message"); + String response = clientSocket.textMessages.poll(5, TimeUnit.SECONDS); + if (!"test message".equals(response)) + throw new RuntimeException("incorrect response"); + clientSocket.session.close(); + clientSocket.closeLatch.await(5, TimeUnit.SECONDS); + resp.getWriter().println("WebSocketEcho: success"); + } + catch (Exception e) + { + throw new RuntimeException(e); + } + finally + { + LifeCycle.stop(client); + } + } + + @WebSocket + public static class ClientSocket + { + public Session session; + public CountDownLatch openLatch = new CountDownLatch(1); + public CountDownLatch closeLatch = new CountDownLatch(1); + public ArrayBlockingQueue textMessages = new ArrayBlockingQueue<>(10); + + @OnWebSocketConnect + public void onOpen(Session session) + { + this.session = session; + openLatch.countDown(); + } + + @OnWebSocketMessage + public void onMessage(String message) + { + textMessages.add(message); + } + + @OnWebSocketClose + public void onClose(int statusCode, String reason) + { + closeLatch.countDown(); + } + } +} diff --git a/tests/test-webapps/test-websocket-client-webapp/src/main/resources/jetty-websocket-httpclient.xml b/tests/test-webapps/test-websocket-client-webapp/src/main/resources/jetty-websocket-httpclient.xml new file mode 100644 index 00000000000..469550c5b5a --- /dev/null +++ b/tests/test-webapps/test-websocket-client-webapp/src/main/resources/jetty-websocket-httpclient.xml @@ -0,0 +1,22 @@ + + + + + + false + + + + TLS/1.3 + + + + + + + + + + + 4999 + diff --git a/tests/test-webapps/test-websocket-client-webapp/src/main/webapp/WEB-INF/web.xml b/tests/test-webapps/test-websocket-client-webapp/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 00000000000..99907fad52a --- /dev/null +++ b/tests/test-webapps/test-websocket-client-webapp/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,8 @@ + + + From 5b96f6f9844cae53f338843c1962c96ec88fb4a6 Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Thu, 1 Oct 2020 12:38:17 +1000 Subject: [PATCH 02/38] Issue #5320 - Run jetty-websocket-httpclient.xml with server class access. Signed-off-by: Lachlan Roberts --- jetty-websocket/websocket-client/pom.xml | 6 ++++ .../websocket/client/HttpClientProvider.java | 25 ++++++++++------ .../tests/distribution/DistributionTests.java | 4 +-- .../websocket/WebSocketClientServlet.java | 29 ++++++++++++++++--- 4 files changed, 48 insertions(+), 16 deletions(-) diff --git a/jetty-websocket/websocket-client/pom.xml b/jetty-websocket/websocket-client/pom.xml index 81d9d71afa5..8f2802f4848 100644 --- a/jetty-websocket/websocket-client/pom.xml +++ b/jetty-websocket/websocket-client/pom.xml @@ -25,6 +25,12 @@ jetty-xml ${project.version} + + org.eclipse.jetty + jetty-webapp + ${project.version} + true + org.eclipse.jetty jetty-util diff --git a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/HttpClientProvider.java b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/HttpClientProvider.java index cc7a5fa9d08..9031292887b 100644 --- a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/HttpClientProvider.java +++ b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/HttpClientProvider.java @@ -18,30 +18,37 @@ package org.eclipse.jetty.websocket.client; -import java.lang.reflect.Method; - import org.eclipse.jetty.client.HttpClient; import org.eclipse.jetty.util.log.Log; +import org.eclipse.jetty.util.log.Logger; +import org.eclipse.jetty.webapp.WebAppClassLoader; import org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope; public final class HttpClientProvider { public static HttpClient get(WebSocketContainerScope scope) { + Logger logger = Log.getLogger(HttpClientProvider.class); + + // Try to load a HttpClient from a jetty-websocket-httpclient.xml configuration file. + // If WebAppClassLoader run with server class access, otherwise run normally. try { - if (Class.forName("org.eclipse.jetty.xml.XmlConfiguration") != null) + try { - Class xmlClazz = Class.forName("org.eclipse.jetty.websocket.client.XmlBasedHttpClientProvider"); - Method getMethod = xmlClazz.getMethod("get", WebSocketContainerScope.class); - Object ret = getMethod.invoke(null, scope); - if (ret instanceof HttpClient) - return (HttpClient)ret; + return WebAppClassLoader.runWithServerClassAccess(() -> XmlBasedHttpClientProvider.get(scope)); + } + catch (NoClassDefFoundError | ClassNotFoundException e) + { + if (logger.isDebugEnabled()) + logger.debug("Could not use WebAppClassLoader to run with Server class access", e); + return XmlBasedHttpClientProvider.get(scope); } } catch (Throwable t) { - Log.getLogger(HttpClientProvider.class).ignore(t); + if (logger.isDebugEnabled()) + logger.debug("Failure to load HttpClient from XML", t); } return DefaultHttpClientProvider.newHttpClient(scope); diff --git a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java index 2b2fc91e358..d4c6896b059 100644 --- a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java +++ b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java @@ -39,7 +39,6 @@ import org.eclipse.jetty.util.StringUtil; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.api.WebSocketListener; -import org.eclipse.jetty.websocket.client.WebSocketClient; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.DisabledOnJre; import org.junit.jupiter.api.condition.JRE; @@ -359,8 +358,7 @@ public class DistributionTests extends AbstractDistributionTest ContentResponse response = client.GET(serverUri); assertEquals(HttpStatus.OK_200, response.getStatus()); String content = response.getContentAsString(); - System.err.println(content); - assertThat(content, containsString("ConnectTimeout: 4999")); + // assertThat(content, containsString("ConnectTimeout: 4999")); // TODO: how to test this? assertThat(content, containsString("WebSocketEcho: success")); } } diff --git a/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java b/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java index 2b026ac5a80..028804b7407 100644 --- a/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java +++ b/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java @@ -28,7 +28,6 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.eclipse.jetty.util.component.LifeCycle; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose; import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect; @@ -48,9 +47,10 @@ public class WebSocketClientServlet extends HttpServlet try { client = new WebSocketClient(); - LifeCycle.start(client); + WebSocketClient finalClient = client; + runThrowExceptionsAsRuntime(() -> finalClient.start()); resp.setContentType("text/html"); - resp.getWriter().println("ConnectTimeout: " + client.getHttpClient().getConnectTimeout()); + //resp.getWriter().println("ConnectTimeout: " + client.getHttpClient().getConnectTimeout()); ClientSocket clientSocket = new ClientSocket(); URI wsUri = WSURI.toWebsocket(req.getRequestURL()).resolve("echo"); @@ -70,7 +70,28 @@ public class WebSocketClientServlet extends HttpServlet } finally { - LifeCycle.stop(client); + if (client != null) + { + WebSocketClient finalClient = client; + runThrowExceptionsAsRuntime(() -> finalClient.stop()); + } + } + } + + public interface ThrowingRunnable + { + void run() throws Exception; + } + + public void runThrowExceptionsAsRuntime(ThrowingRunnable runnable) + { + try + { + runnable.run(); + } + catch (Exception e) + { + throw new RuntimeException(e); } } From 81c88cdde01ada8b3f00c64b051f82478113a4f4 Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Thu, 1 Oct 2020 14:03:25 +1000 Subject: [PATCH 03/38] Issue #5320 - do all exception handling in XmlBasedHttpClientProvider Signed-off-by: Lachlan Roberts --- .../websocket/client/HttpClientProvider.java | 28 ++--------------- .../client/XmlBasedHttpClientProvider.java | 31 ++++++++++++++++++- 2 files changed, 33 insertions(+), 26 deletions(-) diff --git a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/HttpClientProvider.java b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/HttpClientProvider.java index 9031292887b..bd91f697e66 100644 --- a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/HttpClientProvider.java +++ b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/HttpClientProvider.java @@ -19,37 +19,15 @@ package org.eclipse.jetty.websocket.client; import org.eclipse.jetty.client.HttpClient; -import org.eclipse.jetty.util.log.Log; -import org.eclipse.jetty.util.log.Logger; -import org.eclipse.jetty.webapp.WebAppClassLoader; import org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope; public final class HttpClientProvider { public static HttpClient get(WebSocketContainerScope scope) { - Logger logger = Log.getLogger(HttpClientProvider.class); - - // Try to load a HttpClient from a jetty-websocket-httpclient.xml configuration file. - // If WebAppClassLoader run with server class access, otherwise run normally. - try - { - try - { - return WebAppClassLoader.runWithServerClassAccess(() -> XmlBasedHttpClientProvider.get(scope)); - } - catch (NoClassDefFoundError | ClassNotFoundException e) - { - if (logger.isDebugEnabled()) - logger.debug("Could not use WebAppClassLoader to run with Server class access", e); - return XmlBasedHttpClientProvider.get(scope); - } - } - catch (Throwable t) - { - if (logger.isDebugEnabled()) - logger.debug("Failure to load HttpClient from XML", t); - } + HttpClient httpClient = XmlBasedHttpClientProvider.get(scope); + if (httpClient != null) + return httpClient; return DefaultHttpClientProvider.newHttpClient(scope); } diff --git a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java index a90a944efbc..bcdf08a81c8 100644 --- a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java +++ b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java @@ -22,18 +22,47 @@ import java.net.URL; import org.eclipse.jetty.client.HttpClient; import org.eclipse.jetty.util.log.Log; +import org.eclipse.jetty.util.log.Logger; import org.eclipse.jetty.util.resource.Resource; +import org.eclipse.jetty.webapp.WebAppClassLoader; import org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope; import org.eclipse.jetty.xml.XmlConfiguration; class XmlBasedHttpClientProvider { + public static final Logger LOG = Log.getLogger(XmlBasedHttpClientProvider.class); + public static HttpClient get(@SuppressWarnings("unused") WebSocketContainerScope scope) { URL resource = Thread.currentThread().getContextClassLoader().getResource("jetty-websocket-httpclient.xml"); if (resource == null) return null; + // Try to load a HttpClient from a jetty-websocket-httpclient.xml configuration file. + // If WebAppClassLoader run with server class access, otherwise run normally. + try + { + try + { + return WebAppClassLoader.runWithServerClassAccess(() -> newHttpClient(resource)); + } + catch (NoClassDefFoundError | ClassNotFoundException e) + { + if (LOG.isDebugEnabled()) + LOG.debug("Could not use WebAppClassLoader to run with Server class access", e); + return newHttpClient(resource); + } + } + catch (Throwable t) + { + LOG.warn("Failure to load HttpClient from XML", t); + } + + return null; + } + + private static HttpClient newHttpClient(URL resource) + { try { XmlConfiguration configuration = new XmlConfiguration(Resource.newResource(resource)); @@ -41,7 +70,7 @@ class XmlBasedHttpClientProvider } catch (Throwable t) { - Log.getLogger(XmlBasedHttpClientProvider.class).warn("Unable to load: " + resource, t); + LOG.warn("Unable to load: {}", resource, t); } return null; From a91a7630e07808980f1f8f9050681e477bec2d8b Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Thu, 1 Oct 2020 17:40:37 +1000 Subject: [PATCH 04/38] fix NPE from contextClassLoader in XmlBasedHttpClientProvider Signed-off-by: Lachlan Roberts --- .../jetty/websocket/client/XmlBasedHttpClientProvider.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java index bcdf08a81c8..44b21f01e33 100644 --- a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java +++ b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java @@ -34,7 +34,11 @@ class XmlBasedHttpClientProvider public static HttpClient get(@SuppressWarnings("unused") WebSocketContainerScope scope) { - URL resource = Thread.currentThread().getContextClassLoader().getResource("jetty-websocket-httpclient.xml"); + ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader(); + if (contextClassLoader == null) + return null; + + URL resource = contextClassLoader.getResource("jetty-websocket-httpclient.xml"); if (resource == null) return null; From 27a08797983fb03fb621633a2a826f91a9c78022 Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Fri, 2 Oct 2020 15:39:49 +1000 Subject: [PATCH 05/38] dont run WebsocketClientInWebapp test with JPMS --- .../jetty/tests/distribution/DistributionTests.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java index d4c6896b059..4b1f999fe3c 100644 --- a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java +++ b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java @@ -309,10 +309,8 @@ public class DistributionTests extends AbstractDistributionTest } } - @ParameterizedTest - @ValueSource(strings = {"", "--jpms"}) - @DisabledOnJre({JRE.JAVA_14, JRE.JAVA_15}) - public void testWebsocketClientInWebapp(String arg) throws Exception + @Test + public void testWebsocketClientInWebapp() throws Exception { Path jettyBase = Files.createTempDirectory("jetty_base"); String jettyVersion = System.getProperty("jettyVersion"); @@ -337,7 +335,6 @@ public class DistributionTests extends AbstractDistributionTest int port = distribution.freePort(); String[] args2 = { - arg, "jetty.http.port=" + port, // "jetty.server.dumpAfterStart=true", // "jetty.webapp.addSystemClasses+=,org.eclipse.jetty.client.", From 26f4062d93bdbfa25a9e83bce8af5e1b21c82f1e Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Wed, 14 Oct 2020 16:35:58 +1100 Subject: [PATCH 06/38] Parameterize testWebsocketClientInWebapp over both http and https Signed-off-by: Lachlan Roberts --- .../AbstractDistributionTest.java | 11 ++- .../tests/distribution/DistributionTests.java | 16 ++-- .../src/test/resources/keystore | Bin 0 -> 1426 bytes .../websocket/WebSocketClientServlet.java | 85 ++++++++++-------- .../resources/jetty-websocket-httpclient.xml | 14 +-- 5 files changed, 68 insertions(+), 58 deletions(-) create mode 100644 tests/test-distribution/src/test/resources/keystore diff --git a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/AbstractDistributionTest.java b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/AbstractDistributionTest.java index f4428f0f5c2..bb8d2b3e841 100644 --- a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/AbstractDistributionTest.java +++ b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/AbstractDistributionTest.java @@ -21,6 +21,7 @@ package org.eclipse.jetty.tests.distribution; import java.util.function.Supplier; import org.eclipse.jetty.client.HttpClient; +import org.eclipse.jetty.util.ssl.SslContextFactory; import org.junit.jupiter.api.AfterEach; public class AbstractDistributionTest @@ -29,7 +30,15 @@ public class AbstractDistributionTest protected void startHttpClient() throws Exception { - startHttpClient(HttpClient::new); + startHttpClient(false); + } + + protected void startHttpClient(boolean secure) throws Exception + { + if (secure) + startHttpClient(() -> new HttpClient(new SslContextFactory.Client(true))); + else + startHttpClient(HttpClient::new); } protected void startHttpClient(Supplier supplier) throws Exception diff --git a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java index 4b1f999fe3c..7380b00e301 100644 --- a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java +++ b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java @@ -309,8 +309,9 @@ public class DistributionTests extends AbstractDistributionTest } } - @Test - public void testWebsocketClientInWebapp() throws Exception + @ParameterizedTest + @ValueSource(strings = {"http", "https"}) + public void testWebsocketClientInWebapp(String scheme) throws Exception { Path jettyBase = Files.createTempDirectory("jetty_base"); String jettyVersion = System.getProperty("jettyVersion"); @@ -323,7 +324,7 @@ public class DistributionTests extends AbstractDistributionTest String[] args1 = { "--create-startd", "--approve-all-licenses", - "--add-to-start=resources,server,http,webapp,deploy,jsp,jmx,servlet,servlets,websocket" + "--add-to-start=resources,server,webapp,deploy,jsp,jmx,servlet,servlets,websocket," + scheme }; try (DistributionTester.Run run1 = distribution.start(args1)) { @@ -336,6 +337,7 @@ public class DistributionTests extends AbstractDistributionTest int port = distribution.freePort(); String[] args2 = { "jetty.http.port=" + port, + "jetty.ssl.port=" + port, // "jetty.server.dumpAfterStart=true", // "jetty.webapp.addSystemClasses+=,org.eclipse.jetty.client.", // "jetty.webapp.addServerClasses+=,-org.eclipse.jetty.client.", @@ -350,13 +352,15 @@ public class DistributionTests extends AbstractDistributionTest assertTrue(run2.awaitConsoleLogsFor("Started @", 10, TimeUnit.SECONDS)); // We should get the correct configuration from the jetty-websocket-httpclient.xml file. - startHttpClient(); - URI serverUri = URI.create("ws://localhost:" + port + "/test"); + startHttpClient(scheme.equals("https")); + URI serverUri = URI.create(scheme + "://localhost:" + port + "/test"); ContentResponse response = client.GET(serverUri); assertEquals(HttpStatus.OK_200, response.getStatus()); String content = response.getContentAsString(); - // assertThat(content, containsString("ConnectTimeout: 4999")); // TODO: how to test this? assertThat(content, containsString("WebSocketEcho: success")); + + // We cannot test the HttpClient timeout because it is a server class not exposed to the webapp. + // assertThat(content, containsString("ConnectTimeout: 4999")); } } } diff --git a/tests/test-distribution/src/test/resources/keystore b/tests/test-distribution/src/test/resources/keystore new file mode 100644 index 0000000000000000000000000000000000000000..b727bd0fb777fddb3463c81cb56963a7541f7b45 GIT binary patch literal 1426 zcmezO_TO6u1_mY|W&~r_+{*0KN+9!5EW=$#pv*3VCZ=r$d~96WY>X_7T1LX-9cnmv_92vyZY^nksPD zdgGz_%YMiA%<+G`?zc{_^OTmKsam}GdFt7neK!{P|Bco8Yq|9PvTGT0HqQC!@x9l1 z+kfrLjk$U4PfrzX4>?lEY_X)NU`c_upzVKwLzZV_Z=OB7;%H;~#q=-kB7C15mGAK^ zvQDWpwV1Q=%|)J*vS+h8eD_X&KBLa;y!Ym4fd?y?u6<@yiQRcgW4YSWJ1qI-Q@4qE za4m1Vxao>O&#^E1)!s>&+m1~AFk#ErRgE9c$R|1RHZn>ST)F2PCX`h;GftH|P3C*s zWzB^ZGW^U2Io6G9jl> z6zzz+mrM40Funf&SL@T49sAWnZvUNcc-}kaM`;+(`I*O}e=OTwz2vdB%C^t0KV2dN z8|5bLIJC=m`3p1S>EdUM&gly9o_)k?62R=&u_P~(KYzPEv+V7u$GBF7Yt*targsEg zTQzgVqnKmgxtO%H)!0fto_uWX^v1c;QdM?#toT{0*tgvCKBx=r`VraapZ2`+cgggB z-Pvqw9={ifyv(DLz=%jkh_cpEkNBn#fQtx!K-V#22ApgPb-K(wNrdO3Et=(zk zH%r#4Uj9|=lZlRA5;d`xvpUaban7~tb)L?vqO(?31t6P_KXXUmI|NTdEW^*XD%W$kc6J6C`ZJL_TRc(ux#yKj=Ue_0-Rb!XA^BcIEU@^esCUfRc7B*q_(7f!t{PH}Q2nU7; zJ3>UpKnkRbOIX-9zos$!bwcyY3l3?6uy+&YLB9AjrXwMJ9=TVxnh^gTTRrgQDAx z_HixoIbPSC|G?I^w5omSz6+C2WR&Q742Af!tZ{F_B0c(^#Lh& zza|JWF*7nSB0CQl;mkmH*$SFDWnY}}>VU(o3#<5V+huGG`Dn2??1_qdd2)==i--F? zs#KSqOx?Wrm7jRA(!0Yuu5HVhrWZZce5Lb}5Bq8!uvR=V-JM%7`INM|?JE9h{&PR9 zPS5OYv=7|qeAeX{<0}8%Th2N96wN*x(D1*r!0!3JEkDAd&tKmoUZ_-IpH*z9SS finalClient.start()); - resp.setContentType("text/html"); - //resp.getWriter().println("ConnectTimeout: " + client.getHttpClient().getConnectTimeout()); - - ClientSocket clientSocket = new ClientSocket(); - URI wsUri = WSURI.toWebsocket(req.getRequestURL()).resolve("echo"); - client.connect(clientSocket, wsUri); - clientSocket.openLatch.await(5, TimeUnit.SECONDS); - clientSocket.session.getRemote().sendString("test message"); - String response = clientSocket.textMessages.poll(5, TimeUnit.SECONDS); - if (!"test message".equals(response)) - throw new RuntimeException("incorrect response"); - clientSocket.session.close(); - clientSocket.closeLatch.await(5, TimeUnit.SECONDS); - resp.getWriter().println("WebSocketEcho: success"); + client.start(); } catch (Exception e) { - throw new RuntimeException(e); - } - finally - { - if (client != null) - { - WebSocketClient finalClient = client; - runThrowExceptionsAsRuntime(() -> finalClient.stop()); - } + throw new ServletException(e); } } - public interface ThrowingRunnable - { - void run() throws Exception; - } - - public void runThrowExceptionsAsRuntime(ThrowingRunnable runnable) + @Override + public void destroy() { try { - runnable.run(); + client.stop(); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + { + try + { + resp.setContentType("text/html"); + + // Send and receive a websocket echo on the same server. + ClientSocket clientSocket = new ClientSocket(); + URI wsUri = WSURI.toWebsocket(req.getRequestURL()).resolve("echo"); + client.connect(clientSocket, wsUri).get(5, TimeUnit.SECONDS); + clientSocket.session.getRemote().sendString("test message"); + String response = clientSocket.textMessages.poll(5, TimeUnit.SECONDS); + clientSocket.session.close(); + clientSocket.closeLatch.await(5, TimeUnit.SECONDS); + + PrintWriter writer = resp.getWriter(); + writer.println("WebSocketEcho: " + ("test message".equals(response) ? "success" : "failure")); + writer.println("WebSocketEcho: success"); + // We cannot test the HttpClient timeout because it is a server class not exposed to the webapp. + // writer.println("ConnectTimeout: " + client.getHttpClient().getConnectTimeout()); } catch (Exception e) { @@ -122,4 +125,10 @@ public class WebSocketClientServlet extends HttpServlet closeLatch.countDown(); } } + + private void assertTrue(boolean value) + { + if (!value) + throw new RuntimeException("expected expression to be true but was false"); + } } diff --git a/tests/test-webapps/test-websocket-client-webapp/src/main/resources/jetty-websocket-httpclient.xml b/tests/test-webapps/test-websocket-client-webapp/src/main/resources/jetty-websocket-httpclient.xml index 469550c5b5a..49b65a05746 100644 --- a/tests/test-webapps/test-websocket-client-webapp/src/main/resources/jetty-websocket-httpclient.xml +++ b/tests/test-webapps/test-websocket-client-webapp/src/main/resources/jetty-websocket-httpclient.xml @@ -3,19 +3,7 @@ - false - - - - TLS/1.3 - - - - - - - - + true 4999 From 1b07c846c6bcca81f11f662c746d5cf52fd77353 Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Thu, 15 Oct 2020 16:15:20 +1100 Subject: [PATCH 07/38] Issue #5320 - use HttpClient classloader to load jetty-websocket-httpclient.xml Signed-off-by: Lachlan Roberts --- jetty-websocket/websocket-client/pom.xml | 5 ----- .../client/XmlBasedHttpClientProvider.java | 19 ++++++------------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/jetty-websocket/websocket-client/pom.xml b/jetty-websocket/websocket-client/pom.xml index 9e4608bd522..14cad877ad8 100644 --- a/jetty-websocket/websocket-client/pom.xml +++ b/jetty-websocket/websocket-client/pom.xml @@ -24,11 +24,6 @@ org.eclipse.jetty jetty-xml ${project.version} - - - org.eclipse.jetty - jetty-webapp - ${project.version} true diff --git a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java index 44b21f01e33..93e347c66c9 100644 --- a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java +++ b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java @@ -24,7 +24,6 @@ import org.eclipse.jetty.client.HttpClient; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; import org.eclipse.jetty.util.resource.Resource; -import org.eclipse.jetty.webapp.WebAppClassLoader; import org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope; import org.eclipse.jetty.xml.XmlConfiguration; @@ -42,25 +41,19 @@ class XmlBasedHttpClientProvider if (resource == null) return null; - // Try to load a HttpClient from a jetty-websocket-httpclient.xml configuration file. - // If WebAppClassLoader run with server class access, otherwise run normally. try { - try - { - return WebAppClassLoader.runWithServerClassAccess(() -> newHttpClient(resource)); - } - catch (NoClassDefFoundError | ClassNotFoundException e) - { - if (LOG.isDebugEnabled()) - LOG.debug("Could not use WebAppClassLoader to run with Server class access", e); - return newHttpClient(resource); - } + Thread.currentThread().setContextClassLoader(HttpClient.class.getClassLoader()); + return newHttpClient(resource); } catch (Throwable t) { LOG.warn("Failure to load HttpClient from XML", t); } + finally + { + Thread.currentThread().setContextClassLoader(contextClassLoader); + } return null; } From 4cb475c97d38400bba5657ccbd2ad6cbc488539c Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Thu, 15 Oct 2020 16:15:57 +1100 Subject: [PATCH 08/38] Issue #5320 - also test WebSocketClient on server from WEB-INF/lib Signed-off-by: Lachlan Roberts --- .../api/extensions/ExtensionFactory.java | 19 ++- .../extensions/WebSocketExtensionFactory.java | 59 +------- .../tests/distribution/DistributionTests.java | 103 +++++++------- tests/test-webapps/pom.xml | 1 + .../pom.xml | 33 +++++ .../tests/webapp/websocket/EchoEndpoint.java | 32 +++++ .../websocket/WebSocketClientServlet.java | 129 ++++++++++++++++++ .../resources/jetty-websocket-httpclient.xml | 0 .../src/main/webapp/WEB-INF/web.xml | 8 ++ .../test-websocket-client-webapp/pom.xml | 1 - .../websocket/WebSocketClientServlet.java | 19 ++- 11 files changed, 282 insertions(+), 122 deletions(-) create mode 100644 tests/test-webapps/test-websocket-client-provided-webapp/pom.xml create mode 100644 tests/test-webapps/test-websocket-client-provided-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/EchoEndpoint.java create mode 100644 tests/test-webapps/test-websocket-client-provided-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java rename tests/test-webapps/{test-websocket-client-webapp => test-websocket-client-provided-webapp}/src/main/resources/jetty-websocket-httpclient.xml (100%) create mode 100644 tests/test-webapps/test-websocket-client-provided-webapp/src/main/webapp/WEB-INF/web.xml diff --git a/jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/extensions/ExtensionFactory.java b/jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/extensions/ExtensionFactory.java index 81ebff5ba9e..f9341976e55 100644 --- a/jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/extensions/ExtensionFactory.java +++ b/jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/extensions/ExtensionFactory.java @@ -32,17 +32,26 @@ import java.util.Set; @Deprecated public abstract class ExtensionFactory implements Iterable> { - private ServiceLoader extensionLoader = ServiceLoader.load(Extension.class); - private Map> availableExtensions; + private final Map> availableExtensions; public ExtensionFactory() { availableExtensions = new HashMap<>(); - for (Extension ext : extensionLoader) + Iterator iterator = ServiceLoader.load(Extension.class).iterator(); + while (true) { - if (ext != null) + try { - availableExtensions.put(ext.getName(), ext.getClass()); + if (!iterator.hasNext()) + break; + + Extension ext = iterator.next(); + if (ext != null) + availableExtensions.put(ext.getName(), ext.getClass()); + } + catch (Throwable ignored) + { + // Ignored. } } } diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/WebSocketExtensionFactory.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/WebSocketExtensionFactory.java index cf275487a64..70205569d36 100644 --- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/WebSocketExtensionFactory.java +++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/WebSocketExtensionFactory.java @@ -19,11 +19,6 @@ package org.eclipse.jetty.websocket.common.extensions; import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.ServiceLoader; -import java.util.Set; import java.util.zip.Deflater; import org.eclipse.jetty.util.StringUtil; @@ -42,10 +37,8 @@ import org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope; public class WebSocketExtensionFactory extends ExtensionFactory implements LifeCycle, Dumpable { - private ContainerLifeCycle containerLifeCycle; - private WebSocketContainerScope container; - private ServiceLoader extensionLoader = ServiceLoader.load(Extension.class); - private Map> availableExtensions; + private final ContainerLifeCycle containerLifeCycle; + private final WebSocketContainerScope container; private final InflaterPool inflaterPool = new InflaterPool(CompressionPool.INFINITE_CAPACITY, true); private final DeflaterPool deflaterPool = new DeflaterPool(CompressionPool.INFINITE_CAPACITY, Deflater.DEFAULT_COMPRESSION, true); @@ -59,42 +52,12 @@ public class WebSocketExtensionFactory extends ExtensionFactory implements LifeC return String.format("%s@%x{%s}", WebSocketExtensionFactory.class.getSimpleName(), hashCode(), containerLifeCycle.getState()); } }; - availableExtensions = new HashMap<>(); - for (Extension ext : extensionLoader) - { - if (ext != null) - availableExtensions.put(ext.getName(), ext.getClass()); - } this.container = container; containerLifeCycle.addBean(inflaterPool); containerLifeCycle.addBean(deflaterPool); } - @Override - public Map> getAvailableExtensions() - { - return availableExtensions; - } - - @Override - public Class getExtension(String name) - { - return availableExtensions.get(name); - } - - @Override - public Set getExtensionNames() - { - return availableExtensions.keySet(); - } - - @Override - public boolean isAvailable(String name) - { - return availableExtensions.containsKey(name); - } - @Override public Extension newInstance(ExtensionConfig config) { @@ -139,24 +102,6 @@ public class WebSocketExtensionFactory extends ExtensionFactory implements LifeC } } - @Override - public void register(String name, Class extension) - { - availableExtensions.put(name, extension); - } - - @Override - public void unregister(String name) - { - availableExtensions.remove(name); - } - - @Override - public Iterator> iterator() - { - return availableExtensions.values().iterator(); - } - /* --- All of the below ugliness due to not being able to break API compatibility with ExtensionFactory --- */ @Override diff --git a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java index 7380b00e301..ccfa1398698 100644 --- a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java +++ b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java @@ -23,7 +23,6 @@ import java.net.URI; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import org.eclipse.jetty.client.HttpClient; @@ -33,12 +32,9 @@ import org.eclipse.jetty.http2.client.HTTP2Client; import org.eclipse.jetty.http2.client.http.HttpClientTransportOverHTTP2; import org.eclipse.jetty.unixsocket.UnixSocketConnector; import org.eclipse.jetty.unixsocket.client.HttpClientTransportOverUnixSockets; -import org.eclipse.jetty.util.BlockingArrayQueue; import org.eclipse.jetty.util.IO; import org.eclipse.jetty.util.StringUtil; import org.eclipse.jetty.util.ssl.SslContextFactory; -import org.eclipse.jetty.websocket.api.Session; -import org.eclipse.jetty.websocket.api.WebSocketListener; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.DisabledOnJre; import org.junit.jupiter.api.condition.JRE; @@ -309,6 +305,56 @@ public class DistributionTests extends AbstractDistributionTest } } + @ParameterizedTest + @ValueSource(strings = {"http", "https"}) + public void testWebsocketClientInWebappProvidedByServer(String scheme) throws Exception + { + Path jettyBase = Files.createTempDirectory("jetty_base"); + String jettyVersion = System.getProperty("jettyVersion"); + DistributionTester distribution = DistributionTester.Builder.newInstance() + .jettyVersion(jettyVersion) + .jettyBase(jettyBase) + .mavenLocalRepository(System.getProperty("mavenRepoPath")) + .build(); + + String[] args1 = { + "--create-startd", + "--approve-all-licenses", + "--add-to-start=resources,server,webapp,deploy,jsp,jmx,servlet,servlets,websocket," + scheme + }; + try (DistributionTester.Run run1 = distribution.start(args1)) + { + assertTrue(run1.awaitFor(5, TimeUnit.SECONDS)); + assertEquals(0, run1.getExitValue()); + + File webApp = distribution.resolveArtifact("org.eclipse.jetty.tests:test-websocket-client-provided-webapp:war:" + jettyVersion); + distribution.installWarFile(webApp, "test"); + + int port = distribution.freePort(); + String[] args2 = { + "jetty.http.port=" + port, + "jetty.ssl.port=" + port, + // "jetty.server.dumpAfterStart=true", + }; + + try (DistributionTester.Run run2 = distribution.start(args2)) + { + assertTrue(run2.awaitConsoleLogsFor("Started @", 10, TimeUnit.SECONDS)); + + // We should get the correct configuration from the jetty-websocket-httpclient.xml file. + startHttpClient(scheme.equals("https")); + URI serverUri = URI.create(scheme + "://localhost:" + port + "/test"); + ContentResponse response = client.GET(serverUri); + assertEquals(HttpStatus.OK_200, response.getStatus()); + String content = response.getContentAsString(); + assertThat(content, containsString("WebSocketEcho: success")); + + // We cannot test the HttpClient timeout because it is a server class not exposed to the webapp. + // assertThat(content, containsString("ConnectTimeout: 4999")); + } + } + } + @ParameterizedTest @ValueSource(strings = {"http", "https"}) public void testWebsocketClientInWebapp(String scheme) throws Exception @@ -338,14 +384,10 @@ public class DistributionTests extends AbstractDistributionTest String[] args2 = { "jetty.http.port=" + port, "jetty.ssl.port=" + port, + "jetty.webapp.addServerClasses+=,+org.eclipse.jetty.websocket.", + "jetty.webapp.addSystemClasses+=,-org.eclipse.jetty.websocket.", // "jetty.server.dumpAfterStart=true", - // "jetty.webapp.addSystemClasses+=,org.eclipse.jetty.client.", - // "jetty.webapp.addServerClasses+=,-org.eclipse.jetty.client.", - // "jetty.webapp.addSystemClasses+=,org.eclipse.jetty.util.ssl.", - // "jetty.webapp.addServerClasses+=,-org.eclipse.jetty.util.ssl.", - // "jetty.webapp.addSystemClasses+=,org.eclipse.jetty.util.component.", - // "jetty.webapp.addServerClasses+=,-org.eclipse.jetty.util.component." - }; + }; try (DistributionTester.Run run2 = distribution.start(args2)) { @@ -358,45 +400,8 @@ public class DistributionTests extends AbstractDistributionTest assertEquals(HttpStatus.OK_200, response.getStatus()); String content = response.getContentAsString(); assertThat(content, containsString("WebSocketEcho: success")); - - // We cannot test the HttpClient timeout because it is a server class not exposed to the webapp. - // assertThat(content, containsString("ConnectTimeout: 4999")); + assertThat(content, containsString("ConnectTimeout: 4999")); } } } - - public static class WsListener implements WebSocketListener - { - public BlockingArrayQueue textMessages = new BlockingArrayQueue<>(); - public final CountDownLatch closeLatch = new CountDownLatch(1); - public int closeCode; - - @Override - public void onWebSocketClose(int statusCode, String reason) - { - this.closeCode = statusCode; - closeLatch.countDown(); - } - - @Override - public void onWebSocketConnect(Session session) - { - } - - @Override - public void onWebSocketError(Throwable cause) - { - } - - @Override - public void onWebSocketBinary(byte[] payload, int offset, int len) - { - } - - @Override - public void onWebSocketText(String message) - { - textMessages.add(message); - } - } } diff --git a/tests/test-webapps/pom.xml b/tests/test-webapps/pom.xml index a515d4e121a..94f4b238777 100644 --- a/tests/test-webapps/pom.xml +++ b/tests/test-webapps/pom.xml @@ -44,5 +44,6 @@ test-weld-cdi-webapp test-owb-cdi-webapp test-websocket-client-webapp + test-websocket-client-provided-webapp diff --git a/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml b/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml new file mode 100644 index 00000000000..81511e0bd0b --- /dev/null +++ b/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml @@ -0,0 +1,33 @@ + + + + org.eclipse.jetty.tests + test-webapps-parent + 9.4.33-SNAPSHOT + + + 4.0.0 + test-websocket-client-provided-webapp + war + + Test :: Jetty Websocket Simple Webapp with WebSocketClient + + + + javax.servlet + javax.servlet-api + provided + + + javax.websocket + javax.websocket-api + provided + + + org.eclipse.jetty.websocket + websocket-client + ${project.version} + provided + + + diff --git a/tests/test-webapps/test-websocket-client-provided-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/EchoEndpoint.java b/tests/test-webapps/test-websocket-client-provided-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/EchoEndpoint.java new file mode 100644 index 00000000000..2120c5d7cca --- /dev/null +++ b/tests/test-webapps/test-websocket-client-provided-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/EchoEndpoint.java @@ -0,0 +1,32 @@ +// +// ======================================================================== +// Copyright (c) 1995-2020 Mort Bay Consulting Pty Ltd and others. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.tests.webapp.websocket; + +import javax.websocket.OnMessage; +import javax.websocket.server.ServerEndpoint; + +@ServerEndpoint(value = "/echo") +public class EchoEndpoint +{ + @OnMessage + public String echo(String message) + { + return message; + } +} diff --git a/tests/test-webapps/test-websocket-client-provided-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java b/tests/test-webapps/test-websocket-client-provided-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java new file mode 100644 index 00000000000..154b5cfe3bb --- /dev/null +++ b/tests/test-webapps/test-websocket-client-provided-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java @@ -0,0 +1,129 @@ +// +// ======================================================================== +// Copyright (c) 1995-2020 Mort Bay Consulting Pty Ltd and others. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.tests.webapp.websocket; + +import java.io.PrintWriter; +import java.net.URI; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.eclipse.jetty.websocket.api.Session; +import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose; +import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect; +import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage; +import org.eclipse.jetty.websocket.api.annotations.WebSocket; +import org.eclipse.jetty.websocket.api.util.WSURI; +import org.eclipse.jetty.websocket.client.WebSocketClient; + +@WebServlet("/") +public class WebSocketClientServlet extends HttpServlet +{ + private WebSocketClient client; + + @Override + public void init() throws ServletException + { + // We must rely on jetty-websocket-httpclient.xml as we do not have access to server classes like HttpClient. + client = new WebSocketClient(); + + try + { + client.start(); + } + catch (Exception e) + { + throw new ServletException(e); + } + } + + @Override + public void destroy() + { + try + { + client.stop(); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + { + try + { + resp.setContentType("text/html"); + + // Send and receive a websocket echo on the same server. + ClientSocket clientSocket = new ClientSocket(); + URI wsUri = WSURI.toWebsocket(req.getRequestURL()).resolve("echo"); + client.connect(clientSocket, wsUri).get(5, TimeUnit.SECONDS); + clientSocket.session.getRemote().sendString("test message"); + String response = clientSocket.textMessages.poll(5, TimeUnit.SECONDS); + clientSocket.session.close(); + clientSocket.closeLatch.await(5, TimeUnit.SECONDS); + + PrintWriter writer = resp.getWriter(); + writer.println("WebSocketEcho: " + ("test message".equals(response) ? "success" : "failure")); + writer.println("WebSocketEcho: success"); + // We cannot test the HttpClient timeout because it is a server class not exposed to the webapp. + // writer.println("ConnectTimeout: " + client.getHttpClient().getConnectTimeout()); + } + catch (Exception e) + { + throw new RuntimeException(e); + } + } + + @WebSocket + public static class ClientSocket + { + public Session session; + public CountDownLatch openLatch = new CountDownLatch(1); + public CountDownLatch closeLatch = new CountDownLatch(1); + public ArrayBlockingQueue textMessages = new ArrayBlockingQueue<>(10); + + @OnWebSocketConnect + public void onOpen(Session session) + { + this.session = session; + openLatch.countDown(); + } + + @OnWebSocketMessage + public void onMessage(String message) + { + textMessages.add(message); + } + + @OnWebSocketClose + public void onClose(int statusCode, String reason) + { + closeLatch.countDown(); + } + } +} diff --git a/tests/test-webapps/test-websocket-client-webapp/src/main/resources/jetty-websocket-httpclient.xml b/tests/test-webapps/test-websocket-client-provided-webapp/src/main/resources/jetty-websocket-httpclient.xml similarity index 100% rename from tests/test-webapps/test-websocket-client-webapp/src/main/resources/jetty-websocket-httpclient.xml rename to tests/test-webapps/test-websocket-client-provided-webapp/src/main/resources/jetty-websocket-httpclient.xml diff --git a/tests/test-webapps/test-websocket-client-provided-webapp/src/main/webapp/WEB-INF/web.xml b/tests/test-webapps/test-websocket-client-provided-webapp/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 00000000000..99907fad52a --- /dev/null +++ b/tests/test-webapps/test-websocket-client-provided-webapp/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,8 @@ + + + diff --git a/tests/test-webapps/test-websocket-client-webapp/pom.xml b/tests/test-webapps/test-websocket-client-webapp/pom.xml index aedca879928..ec8da282892 100644 --- a/tests/test-webapps/test-websocket-client-webapp/pom.xml +++ b/tests/test-webapps/test-websocket-client-webapp/pom.xml @@ -27,7 +27,6 @@ org.eclipse.jetty.websocket websocket-client ${project.version} - provided diff --git a/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java b/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java index a26af3c8d1a..36401a42e88 100644 --- a/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java +++ b/tests/test-webapps/test-websocket-client-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java @@ -29,6 +29,8 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jetty.client.HttpClient; +import org.eclipse.jetty.util.ssl.SslContextFactory; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose; import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect; @@ -45,11 +47,15 @@ public class WebSocketClientServlet extends HttpServlet @Override public void init() throws ServletException { - client = new WebSocketClient(); + // We can't use the jetty-websocket-httpclient.xml if the websocket client jars are in WEB-INF/lib. + SslContextFactory.Client sslContextFactory = new SslContextFactory.Client(true); + HttpClient httpClient = new HttpClient(sslContextFactory); + httpClient.setConnectTimeout(4999); + this.client = new WebSocketClient(httpClient); try { - client.start(); + this.client.start(); } catch (Exception e) { @@ -89,8 +95,7 @@ public class WebSocketClientServlet extends HttpServlet PrintWriter writer = resp.getWriter(); writer.println("WebSocketEcho: " + ("test message".equals(response) ? "success" : "failure")); writer.println("WebSocketEcho: success"); - // We cannot test the HttpClient timeout because it is a server class not exposed to the webapp. - // writer.println("ConnectTimeout: " + client.getHttpClient().getConnectTimeout()); + writer.println("ConnectTimeout: " + client.getHttpClient().getConnectTimeout()); } catch (Exception e) { @@ -125,10 +130,4 @@ public class WebSocketClientServlet extends HttpServlet closeLatch.countDown(); } } - - private void assertTrue(boolean value) - { - if (!value) - throw new RuntimeException("expected expression to be true but was false"); - } } From d4b7ad66c9635ea5a99c68f9caf150aab8d9d411 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Oct 2020 06:12:48 +0000 Subject: [PATCH 09/38] Bump asciidoctor-maven-plugin from 1.5.6 to 2.1.0 Bumps [asciidoctor-maven-plugin](https://github.com/asciidoctor/asciidoctor-maven-plugin) from 1.5.6 to 2.1.0. - [Release notes](https://github.com/asciidoctor/asciidoctor-maven-plugin/releases) - [Changelog](https://github.com/asciidoctor/asciidoctor-maven-plugin/blob/master/CHANGELOG.adoc) - [Commits](https://github.com/asciidoctor/asciidoctor-maven-plugin/compare/asciidoctor-maven-plugin-1.5.6...asciidoctor-maven-plugin-2.1.0) Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3463d994302..18dc222f569 100644 --- a/pom.xml +++ b/pom.xml @@ -726,7 +726,7 @@ org.asciidoctor asciidoctor-maven-plugin - 1.5.6 + 2.1.0 org.codehaus.mojo From 4a4a73df2eee9140f39d1173aaedf69ea51b706a Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Thu, 22 Oct 2020 16:48:27 +0200 Subject: [PATCH 10/38] Fixes #5488 - jetty-dir.css not found when using JPMS. Moved jetty-dir.css from jetty-util to jetty-server, so that it can be found by ResourceHandler when using JPMS. Updated DefaultServlet to call a ResourceHandler method to retrieve the stylesheet. Signed-off-by: Simone Bordet --- .../org/eclipse/jetty/server/handler/ResourceHandler.java | 7 ++++++- .../src/main/resources/jetty-dir.css | 0 .../java/org/eclipse/jetty/servlet/DefaultServlet.java | 3 ++- .../eclipse/jetty/tests/distribution/DemoBaseTests.java | 7 +++++-- 4 files changed, 13 insertions(+), 4 deletions(-) rename {jetty-util => jetty-server}/src/main/resources/jetty-dir.css (100%) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java index ee300048872..49ae8e06a98 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java @@ -226,12 +226,17 @@ public class ResourceHandler extends HandlerWrapper implements ResourceFactory, { if (_defaultStylesheet == null) { - _defaultStylesheet = Resource.newResource(this.getClass().getResource("/jetty-dir.css")); + _defaultStylesheet = getDefaultStylesheet(); } return _defaultStylesheet; } } + public static Resource getDefaultStylesheet() + { + return Resource.newResource(ResourceHandler.class.getResource("/jetty-dir.css")); + } + public String[] getWelcomeFiles() { return _welcomes; diff --git a/jetty-util/src/main/resources/jetty-dir.css b/jetty-server/src/main/resources/jetty-dir.css similarity index 100% rename from jetty-util/src/main/resources/jetty-dir.css rename to jetty-server/src/main/resources/jetty-dir.css diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java index f242949cf74..b84618b67ca 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java @@ -41,6 +41,7 @@ import org.eclipse.jetty.server.ResourceContentFactory; import org.eclipse.jetty.server.ResourceService; import org.eclipse.jetty.server.ResourceService.WelcomeFactory; import org.eclipse.jetty.server.handler.ContextHandler; +import org.eclipse.jetty.server.handler.ResourceHandler; import org.eclipse.jetty.util.URIUtil; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; @@ -223,7 +224,7 @@ public class DefaultServlet extends HttpServlet implements ResourceFactory, Welc } if (_stylesheet == null) { - _stylesheet = Resource.newResource(this.getClass().getResource("/jetty-dir.css")); + _stylesheet = ResourceHandler.getDefaultStylesheet(); } } catch (Exception e) diff --git a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DemoBaseTests.java b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DemoBaseTests.java index b5fb2eaf69f..57956fdc1e7 100644 --- a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DemoBaseTests.java +++ b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DemoBaseTests.java @@ -202,8 +202,11 @@ public class DemoBaseTests extends AbstractDistributionTest assertTrue(run.awaitConsoleLogsFor("Started @", 10, TimeUnit.SECONDS)); startHttpClient(); - ContentResponse response = client.GET("http://localhost:" + httpPort + "/test/hello"); - assertEquals(HttpStatus.OK_200, response.getStatus()); + ContentResponse helloResponse = client.GET("http://localhost:" + httpPort + "/test/hello"); + assertEquals(HttpStatus.OK_200, helloResponse.getStatus()); + + ContentResponse cssResponse = client.GET("http://localhost:" + httpPort + "/jetty-dir.css"); + assertEquals(HttpStatus.OK_200, cssResponse.getStatus()); } } From 4cf5017cea7a2fa780efeaafe7ec3ab2ee3a0e98 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Oct 2020 06:25:22 +0000 Subject: [PATCH 11/38] Bump grpc-core from 1.0.1 to 1.33.0 Bumps [grpc-core](https://github.com/grpc/grpc-java) from 1.0.1 to 1.33.0. - [Release notes](https://github.com/grpc/grpc-java/releases) - [Commits](https://github.com/grpc/grpc-java/compare/v1.0.1...v1.33.0) Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 461dc3e1424..c0a7fdaa905 100644 --- a/pom.xml +++ b/pom.xml @@ -1154,7 +1154,7 @@ io.grpc grpc-core - 1.0.1 + 1.33.0 org.apache.ant From 227e74f1e0de492ff4fa9c0ac24240eabbeb7c8c Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Mon, 26 Oct 2020 04:48:40 -0500 Subject: [PATCH 12/38] Bump org.eclipse.osgi.services from 3.7.100 to 3.9.0 Signed-off-by: Joakim Erdfelt --- jetty-osgi/test-jetty-osgi/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetty-osgi/test-jetty-osgi/pom.xml b/jetty-osgi/test-jetty-osgi/pom.xml index 362b280c4ff..df34ad3b43d 100644 --- a/jetty-osgi/test-jetty-osgi/pom.xml +++ b/jetty-osgi/test-jetty-osgi/pom.xml @@ -94,7 +94,7 @@ org.eclipse.platform org.eclipse.osgi.services - 3.7.100 + 3.9.0 test From 4f38624a6c40f6775f741d7ed8051f82e5cf37ff Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Mon, 26 Oct 2020 04:47:12 -0500 Subject: [PATCH 13/38] Bump org.eclipse.osgi (platform) from 3.13.100 to 3.16.0 Signed-off-by: Joakim Erdfelt --- jetty-osgi/test-jetty-osgi/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetty-osgi/test-jetty-osgi/pom.xml b/jetty-osgi/test-jetty-osgi/pom.xml index 362b280c4ff..4afed834de0 100644 --- a/jetty-osgi/test-jetty-osgi/pom.xml +++ b/jetty-osgi/test-jetty-osgi/pom.xml @@ -88,7 +88,7 @@ org.eclipse.platform org.eclipse.osgi - 3.13.100 + 3.16.0 test From 6698a314eec125f675cf18432237744eb7b9a69f Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Wed, 28 Oct 2020 15:23:29 +0100 Subject: [PATCH 14/38] Fixes #5521 ResourceCollection list NPE (#5523) Fixes #5521 ResourceCollection list NPE --- .../jetty/util/resource/PathResource.java | 6 +----- .../jetty/util/resource/ResourceCollection.java | 5 +++-- .../util/resource/ResourceCollectionTest.java | 17 +++++++++++++++++ 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/resource/PathResource.java b/jetty-util/src/main/java/org/eclipse/jetty/util/resource/PathResource.java index e9931f548e4..e29e285c4b1 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/resource/PathResource.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/resource/PathResource.java @@ -571,11 +571,7 @@ public class PathResource extends Resource int size = entries.size(); return entries.toArray(new String[size]); } - catch (DirectoryIteratorException e) - { - LOG.debug(e); - } - catch (IOException e) + catch (DirectoryIteratorException | IOException e) { LOG.debug(e); } diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/resource/ResourceCollection.java b/jetty-util/src/main/java/org/eclipse/jetty/util/resource/ResourceCollection.java index 594ba49c3b3..3f080072465 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/resource/ResourceCollection.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/resource/ResourceCollection.java @@ -434,11 +434,12 @@ public class ResourceCollection extends Resource public String[] list() { assertResourcesSet(); - HashSet set = new HashSet<>(); for (Resource r : _resources) { - Collections.addAll(set, r.list()); + String[] list = r.list(); + if (list != null) + Collections.addAll(set, list); } String[] result = set.toArray(new String[0]); Arrays.sort(result); diff --git a/jetty-util/src/test/java/org/eclipse/jetty/util/resource/ResourceCollectionTest.java b/jetty-util/src/test/java/org/eclipse/jetty/util/resource/ResourceCollectionTest.java index 51200037cce..d3e212517c6 100644 --- a/jetty-util/src/test/java/org/eclipse/jetty/util/resource/ResourceCollectionTest.java +++ b/jetty-util/src/test/java/org/eclipse/jetty/util/resource/ResourceCollectionTest.java @@ -22,6 +22,7 @@ import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import java.nio.file.Path; +import java.util.Arrays; import org.eclipse.jetty.toolchain.test.FS; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; @@ -32,7 +33,9 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.nullValue; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -174,6 +177,20 @@ public class ResourceCollectionTest }); } + @Test + public void testList() throws Exception + { + ResourceCollection rc1 = new ResourceCollection( + Resource.newResource("src/test/resources/org/eclipse/jetty/util/resource/one/"), + Resource.newResource("src/test/resources/org/eclipse/jetty/util/resource/two/"), + Resource.newResource("src/test/resources/org/eclipse/jetty/util/resource/three/")); + + assertThat(Arrays.asList(rc1.list()), contains("1.txt", "2.txt", "3.txt", "dir/")); + assertThat(Arrays.asList(rc1.addPath("dir").list()), contains("1.txt", "2.txt", "3.txt")); + assertThat(rc1.addPath("unknown").list(), nullValue()); + // TODO for jetty-10 assertThat(rc1.addPath("unknown").list(), nullValue()); + } + @Test public void testMultipleSources1() throws Exception { From 7a0de6af3a41fd6025f55d27c1e12103625347cd Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Wed, 28 Oct 2020 17:46:49 +0100 Subject: [PATCH 15/38] Fixes #5498 ServletHolder cleanup (#5514) * Fixes #55498 ServletHolder cleanup Various cleanups for #5498 including: + renaming multiple `_servlet` fields in inner classes to avoid confusion + better comments in prepare method to describe why it is needed + call prepare from Invoker servlet + The `_servlet` field is not set until after the servlet is initialized + Consistent wrapping of `SingleThreadedWrapper` now in `initServlet` + The `getServlet` method now looks the volatile `_servlet` to avoid locking if possible + The `handle` method now calls `getServletInstance` as servlet will have been initialized in `prepare` + Found and fixed race with making unavaiable servlet available again + fixed nanotime overflow + fixed several compiler warnings/suggestions + removed while true from unavailable servlet + Do not destroy servlets unless init has been called. + Added TODOs about calling predestroy on instances not created by the holder. + Do not destroy servlets unless init has been called. + Added TODOs about calling predestroy on instances not created by the holder. + improved dump and toString --- .../eclipse/jetty/servlet/DefaultServlet.java | 14 +- .../eclipse/jetty/servlet/FilterHolder.java | 3 +- .../org/eclipse/jetty/servlet/Invoker.java | 1 + .../eclipse/jetty/servlet/ListenerHolder.java | 2 +- .../eclipse/jetty/servlet/ServletHolder.java | 227 ++++++++++-------- .../eclipse/jetty/servlet/ErrorPageTest.java | 1 + .../jetty/servlet/ServletLifeCycleTest.java | 4 + .../util/component/AbstractLifeCycle.java | 11 +- 8 files changed, 142 insertions(+), 121 deletions(-) diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java index f242949cf74..04dcd3e2193 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java @@ -149,7 +149,6 @@ public class DefaultServlet extends HttpServlet implements ResourceFactory, Welc private boolean _useFileMappedBuffer = false; private String _relativeResourceBase; private ServletHandler _servletHandler; - private ServletHolder _defaultHolder; public DefaultServlet(ResourceService resourceService) { @@ -303,11 +302,6 @@ public class DefaultServlet extends HttpServlet implements ResourceFactory, Welc _resourceService.setGzipEquivalentFileExtensions(gzipEquivalentFileExtensions); _servletHandler = _contextHandler.getChildHandlerByClass(ServletHandler.class); - for (ServletHolder h : _servletHandler.getServlets()) - { - if (h.getServletInstance() == this) - _defaultHolder = h; - } if (LOG.isDebugEnabled()) LOG.debug("resource base = " + _resourceBase); @@ -504,9 +498,9 @@ public class DefaultServlet extends HttpServlet implements ResourceFactory, Welc return null; String welcomeServlet = null; - for (int i = 0; i < _welcomes.length; i++) + for (String s : _welcomes) { - String welcomeInContext = URIUtil.addPaths(pathInContext, _welcomes[i]); + String welcomeInContext = URIUtil.addPaths(pathInContext, s); Resource welcome = getResource(welcomeInContext); if (welcome != null && welcome.exists()) return welcomeInContext; @@ -514,9 +508,7 @@ public class DefaultServlet extends HttpServlet implements ResourceFactory, Welc if ((_welcomeServlets || _welcomeExactServlets) && welcomeServlet == null) { MappedResource entry = _servletHandler.getMappedServlet(welcomeInContext); - @SuppressWarnings("ReferenceEquality") - boolean isDefaultHolder = (entry.getResource() != _defaultHolder); - if (entry != null && isDefaultHolder && + if (entry != null && entry.getResource().getServletInstance() != this && (_welcomeServlets || (_welcomeExactServlets && entry.getPathSpec().getDeclaration().equals(welcomeInContext)))) welcomeServlet = welcomeInContext; } diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/FilterHolder.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/FilterHolder.java index 6f4af7368b7..320d93eb8e6 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/FilterHolder.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/FilterHolder.java @@ -222,7 +222,8 @@ public class FilterHolder extends Holder @Override public String toString() { - return String.format("%s@%x==%s,inst=%b,async=%b", getName(), hashCode(), getClassName(), _filter != null, isAsyncSupported()); + return String.format("%s==%s@%x{inst=%b,async=%b,src=%s}", + getName(), getClassName(), hashCode(), _filter != null, isAsyncSupported(), getSource()); } public FilterRegistration.Dynamic getRegistration() diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/Invoker.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/Invoker.java index 09cb5ee81f3..1fe1ef1f7b4 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/Invoker.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/Invoker.java @@ -231,6 +231,7 @@ public class Invoker extends HttpServlet if (holder != null) { final Request baseRequest = Request.getBaseRequest(request); + holder.prepare(baseRequest, request, response); holder.handle(baseRequest, new InvokedRequest(request, included, servlet, servletPath, pathInfo), response); diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ListenerHolder.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ListenerHolder.java index 42d4c0549a8..2b1cb62c7a0 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ListenerHolder.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ListenerHolder.java @@ -126,7 +126,7 @@ public class ListenerHolder extends BaseHolder @Override public String toString() { - return super.toString() + ": " + getClassName(); + return String.format("%s@%x{src=%s}", getClassName(), hashCode(), getSource()); } /** diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java index 4929c16f930..f84d21c4a46 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java @@ -34,6 +34,7 @@ import java.util.Objects; import java.util.Set; import java.util.Stack; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; import javax.servlet.GenericServlet; import javax.servlet.MultipartConfigElement; import javax.servlet.Servlet; @@ -80,8 +81,6 @@ public class ServletHolder extends Holder implements UserIdentity.Scope private Map _roleMap; private String _forcedPath; private String _runAsRole; - private RunAsToken _runAsToken; - private IdentityService _identityService; private ServletRegistration.Dynamic _registration; private JspContainer _jspContainer; @@ -394,12 +393,6 @@ public class ServletHolder extends Holder implements UserIdentity.Scope checkInitOnStartup(); _config = new Config(); - - synchronized (this) - { - if (getHeldClass() != null && javax.servlet.SingleThreadModel.class.isAssignableFrom(getHeldClass())) - _servlet = new SingleThreadedWrapper(); - } } @Override @@ -447,13 +440,22 @@ public class ServletHolder extends Holder implements UserIdentity.Scope Servlet servlet = (Servlet)o; - // need to use the unwrapped servlet because lifecycle callbacks such as + // call any predestroy callbacks + predestroyServlet(servlet); + + // Call the servlet destroy + servlet.destroy(); + } + + private void predestroyServlet(Servlet servlet) + { + // TODO We should only predestroy instnaces that we created + // TODO But this breaks tests in jetty-9, so review behaviour in jetty-10 + + // Need to use the unwrapped servlet because lifecycle callbacks such as // postconstruct and predestroy are based off the classname and the wrapper // classes are unknown outside the ServletHolder getServletHandler().destroyServlet(unwrap(servlet)); - - // destroy the wrapped servlet, in case there is special behaviour - servlet.destroy(); } /** @@ -465,16 +467,20 @@ public class ServletHolder extends Holder implements UserIdentity.Scope public Servlet getServlet() throws ServletException { - synchronized (this) + Servlet servlet = _servlet; + if (servlet == null) { - if (_servlet == null && isRunning()) + synchronized (this) { - if (getHeldClass() != null) - initServlet(); + if (_servlet == null && isRunning()) + { + if (getHeldClass() != null) + initServlet(); + } + servlet = _servlet; } } - - return _servlet; + return servlet; } /** @@ -528,7 +534,16 @@ public class ServletHolder extends Holder implements UserIdentity.Scope { synchronized (this) { - _servlet = new UnavailableServlet(e, _servlet); + if (_servlet instanceof UnavailableServlet) + { + Throwable cause = ((UnavailableServlet)_servlet).getUnavailableException(); + if (cause != e) + cause.addSuppressed(e); + } + else + { + _servlet = new UnavailableServlet(e, _servlet); + } return _servlet; } } @@ -554,36 +569,41 @@ public class ServletHolder extends Holder implements UserIdentity.Scope } } - private synchronized void initServlet() + private void initServlet() throws ServletException { + // must be called with lock held and _servlet==null + if (_servlet != null) + throw new IllegalStateException("Servlet already initialised: " + _servlet); + + Servlet servlet = null; try { - if (_servlet == null) - _servlet = getInstance(); - if (_servlet == null) - _servlet = newInstance(); + servlet = getInstance(); + if (servlet == null) + servlet = newInstance(); + if (servlet instanceof javax.servlet.SingleThreadModel) + { + predestroyServlet(servlet); + servlet = new SingleThreadedWrapper(); + } + if (_config == null) _config = new Config(); //check run-as rolename and convert to token from IdentityService - if (_runAsRole == null) + if (_runAsRole != null) { - _identityService = null; - _runAsToken = null; - } - else - { - _identityService = getServletHandler().getIdentityService(); - if (_identityService != null) + IdentityService identityService = getServletHandler().getIdentityService(); + if (identityService != null) { - _runAsToken = _identityService.newRunAsToken(_runAsRole); - _servlet = new RunAs(_servlet, _identityService, _runAsToken); + RunAsToken runAsToken = identityService.newRunAsToken(_runAsRole); + servlet = new RunAs(servlet, identityService, runAsToken); } } if (!isAsyncSupported()) - _servlet = new NotAsync(_servlet); + servlet = new NotAsync(servlet); // Handle configuring servlets that implement org.apache.jasper.servlet.JspServlet if (isJspServlet()) @@ -595,28 +615,30 @@ public class ServletHolder extends Holder implements UserIdentity.Scope detectJspContainer(); initMultiPart(); - _servlet = wrap(_servlet, WrapFunction.class, WrapFunction::wrapServlet); + servlet = wrap(servlet, WrapFunction.class, WrapFunction::wrapServlet); if (LOG.isDebugEnabled()) LOG.debug("Servlet.init {} for {}", _servlet, getName()); - _servlet.init(_config); - } - catch (UnavailableException e) - { - makeUnavailable(e); - if (getServletHandler().isStartWithUnavailable()) - LOG.warn(e); - else - throw e; + try + { + servlet.init(_config); + _servlet = servlet; + } + catch (UnavailableException e) + { + _servlet = new UnavailableServlet(e, servlet); + } } catch (ServletException e) { makeUnavailable(e.getCause() == null ? e : e.getCause()); + predestroyServlet(servlet); throw e; } catch (Exception e) { makeUnavailable(e); + predestroyServlet(servlet); throw new ServletException(this.toString(), e); } } @@ -651,8 +673,8 @@ public class ServletHolder extends Holder implements UserIdentity.Scope } scratch = new File(getInitParameter("scratchdir")); - if (!scratch.exists()) - scratch.mkdir(); + if (!scratch.exists() && !scratch.mkdir()) + throw new IllegalStateException("Could not create JSP scratch directory"); } /** @@ -725,10 +747,16 @@ public class ServletHolder extends Holder implements UserIdentity.Scope protected void prepare(Request baseRequest, ServletRequest request, ServletResponse response) throws ServletException, UnavailableException { + // Ensure the servlet is initialized prior to any filters being invoked getServlet(); - MultipartConfigElement mpce = ((Registration)getRegistration()).getMultipartConfig(); - if (mpce != null) - baseRequest.setAttribute(Request.MULTIPART_CONFIG_ELEMENT, mpce); + + // Check for multipart config + if (_registration != null) + { + MultipartConfigElement mpce = ((Registration)_registration).getMultipartConfig(); + if (mpce != null) + baseRequest.setAttribute(Request.MULTIPART_CONFIG_ELEMENT, mpce); + } } @Deprecated @@ -757,7 +785,7 @@ public class ServletHolder extends Holder implements UserIdentity.Scope { try { - Servlet servlet = getServlet(); + Servlet servlet = getServletInstance(); if (servlet == null) throw new UnavailableException("Servlet Not Initialized"); servlet.service(request, response); @@ -1197,72 +1225,69 @@ public class ServletHolder extends Holder implements UserIdentity.Scope @Override public String toString() { - return String.format("%s@%x==%s,jsp=%s,order=%d,inst=%b,async=%b", getName(), hashCode(), getClassName(), _forcedPath, _initOrder, _servlet != null, isAsyncSupported()); + return String.format("%s==%s@%x{jsp=%s,order=%d,inst=%b,async=%b,src=%s}", + getName(), getClassName(), hashCode(), + _forcedPath, _initOrder, _servlet != null, isAsyncSupported(), getSource()); } - private class UnavailableServlet extends GenericServlet + private class UnavailableServlet extends Wrapper { final UnavailableException _unavailableException; - final Servlet _servlet; - final long _available; + final AtomicLong _unavailableStart; public UnavailableServlet(UnavailableException unavailableException, Servlet servlet) { + super(servlet != null ? servlet : new GenericServlet() + { + @Override + public void service(ServletRequest req, ServletResponse res) throws IOException + { + ((HttpServletResponse)res).sendError(HttpServletResponse.SC_NOT_FOUND); + } + }); _unavailableException = unavailableException; if (unavailableException.isPermanent()) - { - _servlet = null; - _available = -1; - if (servlet != null) - { - try - { - destroyInstance(servlet); - } - catch (Throwable th) - { - if (th != unavailableException) - unavailableException.addSuppressed(th); - } - } - } + _unavailableStart = null; else { - _servlet = servlet; - _available = System.nanoTime() + TimeUnit.SECONDS.toNanos(unavailableException.getUnavailableSeconds()); + long start = System.nanoTime(); + while (start == 0) + start = System.nanoTime(); + _unavailableStart = new AtomicLong(start); } } @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { - if (_available == -1) + if (LOG.isDebugEnabled()) + LOG.debug("Unavailable {}", req, _unavailableException); + if (_unavailableStart == null) + { ((HttpServletResponse)res).sendError(HttpServletResponse.SC_NOT_FOUND); - else if (System.nanoTime() < _available) - ((HttpServletResponse)res).sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE); + } else { - synchronized (ServletHolder.this) - { - ServletHolder.this._servlet = this._servlet; - _servlet.service(req, res); - } - } - } + long start = _unavailableStart.get(); - @Override - public void destroy() - { - if (_servlet != null) - { - try + if (start == 0 || System.nanoTime() - start < TimeUnit.SECONDS.toNanos(_unavailableException.getUnavailableSeconds())) { - destroyInstance(_servlet); + ((HttpServletResponse)res).sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE); } - catch (Throwable th) + else if (_unavailableStart.compareAndSet(start, 0)) { - LOG.warn(th); + synchronized (this) + { + _servlet = getWrapped(); + } + Request baseRequest = Request.getBaseRequest(req); + ServletHolder.this.prepare(baseRequest, req, res); + ServletHolder.this.handle(baseRequest, req, res); + } + else + { + ((HttpServletResponse)res).sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE); } } } @@ -1294,53 +1319,53 @@ public class ServletHolder extends Holder implements UserIdentity.Scope public static class Wrapper implements Servlet, Wrapped { - private final Servlet _servlet; + private final Servlet _wrappedServlet; public Wrapper(Servlet servlet) { - _servlet = Objects.requireNonNull(servlet, "Servlet cannot be null"); + _wrappedServlet = Objects.requireNonNull(servlet, "Servlet cannot be null"); } @Override public Servlet getWrapped() { - return _servlet; + return _wrappedServlet; } @Override public void init(ServletConfig config) throws ServletException { - _servlet.init(config); + _wrappedServlet.init(config); } @Override public ServletConfig getServletConfig() { - return _servlet.getServletConfig(); + return _wrappedServlet.getServletConfig(); } @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { - _servlet.service(req, res); + _wrappedServlet.service(req, res); } @Override public String getServletInfo() { - return _servlet.getServletInfo(); + return _wrappedServlet.getServletInfo(); } @Override public void destroy() { - _servlet.destroy(); + _wrappedServlet.destroy(); } @Override public String toString() { - return String.format("%s:%s", this.getClass().getSimpleName(), _servlet.toString()); + return String.format("%s:%s", this.getClass().getSimpleName(), _wrappedServlet.toString()); } } diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ErrorPageTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ErrorPageTest.java index 45668965ed7..59064a280a5 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ErrorPageTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ErrorPageTest.java @@ -422,6 +422,7 @@ public class ErrorPageTest __destroyed = new AtomicBoolean(false); String response = _connector.getResponse("GET /unavailable/info HTTP/1.0\r\n\r\n"); assertThat(response, Matchers.containsString("HTTP/1.1 404 ")); + _server.stop(); assertTrue(__destroyed.get()); } } diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletLifeCycleTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletLifeCycleTest.java index 0e49712f836..65d92ee5d5a 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletLifeCycleTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletLifeCycleTest.java @@ -59,6 +59,10 @@ public class ServletLifeCycleTest context.getObjectFactory().addDecorator(new TestDecorator()); + // TODO review this test in jetty-10. Instances that are created externally and passed in should not be + // TODO decorated by the object factory unless: a) there is an explicit call to ServletContext.createXxx; + // TODO ; and b) the Servlet dyanmic API is used to register them. + ServletHandler sh = context.getServletHandler(); sh.addListener(new ListenerHolder(TestListener.class)); //added directly to ServletHandler context.addEventListener(context.getServletContext().createListener(TestListener2.class));//create,decorate and add listener to context - no holder! diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/component/AbstractLifeCycle.java b/jetty-util/src/main/java/org/eclipse/jetty/util/component/AbstractLifeCycle.java index 3a9b07e795a..1fb5793ac6f 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/component/AbstractLifeCycle.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/component/AbstractLifeCycle.java @@ -20,6 +20,7 @@ package org.eclipse.jetty.util.component; import java.util.concurrent.CopyOnWriteArrayList; +import org.eclipse.jetty.util.StringUtil; import org.eclipse.jetty.util.Uptime; import org.eclipse.jetty.util.annotation.ManagedAttribute; import org.eclipse.jetty.util.annotation.ManagedObject; @@ -280,13 +281,9 @@ public abstract class AbstractLifeCycle implements LifeCycle @Override public String toString() { - Class clazz = getClass(); - String name = clazz.getSimpleName(); - if ((name == null || name.length() == 0) && clazz.getSuperclass() != null) - { - clazz = clazz.getSuperclass(); - name = clazz.getSimpleName(); - } + String name = getClass().getSimpleName(); + if (StringUtil.isBlank(name) && getClass().getSuperclass() != null) + name = getClass().getSuperclass().getSimpleName(); return String.format("%s@%x{%s}", name, hashCode(), getState()); } } From 3b8e7c143d56f306e31481e002fa8d88212b7796 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Wed, 28 Oct 2020 11:47:49 -0500 Subject: [PATCH 16/38] Bump maven.resolver.version from 1.3.1 to 1.6.1 Signed-off-by: Joakim Erdfelt --- pom.xml | 2 +- tests/test-distribution/pom.xml | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9abe5a8127e..9e8d5e04f5f 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ 1.4.0 5.7.0 3.6.3 - 1.3.1 + 1.6.1 3.1.0 3.1.5.Final 3.4.1.Final diff --git a/tests/test-distribution/pom.xml b/tests/test-distribution/pom.xml index f6718611ce9..eaf9a3960e3 100644 --- a/tests/test-distribution/pom.xml +++ b/tests/test-distribution/pom.xml @@ -32,6 +32,21 @@ maven-resolver-provider ${maven.version} + + org.apache.maven.resolver + maven-resolver-util + ${maven.resolver.version} + + + org.apache.maven.resolver + maven-resolver-api + ${maven.resolver.version} + + + org.apache.maven.resolver + maven-resolver-spi + ${maven.resolver.version} + org.apache.maven.resolver maven-resolver-connector-basic From dadd299e473610bc9c322112fa4d0a1b61ea28c8 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 29 Oct 2020 13:44:21 -0500 Subject: [PATCH 17/38] Cleanup of SslContextFactoryTest Signed-off-by: Joakim Erdfelt --- .../jetty/util/ssl/SslContextFactoryTest.java | 79 ++++++++++--------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java b/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java index 0ce32702e06..ee7da6f8250 100644 --- a/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java +++ b/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java @@ -30,6 +30,7 @@ import java.security.cert.X509Certificate; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Optional; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -46,7 +47,6 @@ import org.eclipse.jetty.util.IO; import org.eclipse.jetty.util.component.AbstractLifeCycle; import org.eclipse.jetty.util.log.StacklessLogging; import org.eclipse.jetty.util.resource.Resource; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import static org.hamcrest.MatcherAssert.assertThat; @@ -69,25 +69,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue; public class SslContextFactoryTest { - private SslContextFactory cf; - - @BeforeEach - public void setUp() throws Exception - { - cf = new SslContextFactory.Server(); - - java.security.cert.CertPathBuilder certPathBuilder = java.security.cert.CertPathBuilder.getInstance("PKIX"); - java.security.cert.PKIXRevocationChecker revocationChecker = (java.security.cert.PKIXRevocationChecker)certPathBuilder.getRevocationChecker(); - revocationChecker.setOptions(java.util.EnumSet.of( - java.security.cert.PKIXRevocationChecker.Option.valueOf("PREFER_CRLS"), - java.security.cert.PKIXRevocationChecker.Option.valueOf("SOFT_FAIL"), - java.security.cert.PKIXRevocationChecker.Option.valueOf("NO_FALLBACK"))); - cf.setPkixCertPathChecker(revocationChecker); - } - @Test public void testSLOTH() throws Exception { + SslContextFactory.Server cf = new SslContextFactory.Server(); cf.setKeyStorePassword("storepwd"); cf.setKeyManagerPassword("keypwd"); @@ -96,9 +81,13 @@ public class SslContextFactoryTest // cf.dump(System.out, ""); List dumps = cf.selectionDump(); - SslSelectionDump cipherDump = dumps.stream() + Optional cipherSuiteDumpOpt = dumps.stream() .filter((dump) -> dump.type.contains("Cipher Suite")) - .findFirst().get(); + .findFirst(); + + assertTrue(cipherSuiteDumpOpt.isPresent(), "Cipher Suite dump section should exist"); + + SslSelectionDump cipherDump = cipherSuiteDumpOpt.get(); for (String enabledCipher : cipherDump.enabled) { @@ -109,6 +98,7 @@ public class SslContextFactoryTest @Test public void testDumpIncludeTlsRsa() throws Exception { + SslContextFactory.Server cf = new SslContextFactory.Server(); cf.setKeyStorePassword("storepwd"); cf.setKeyManagerPassword("keypwd"); cf.setIncludeCipherSuites("TLS_RSA_.*"); @@ -126,9 +116,15 @@ public class SslContextFactoryTest .collect(Collectors.toList()); List selectedSuites = Arrays.asList(cf.getSelectedCipherSuites()); - SslSelectionDump cipherDump = dumps.stream() + + Optional cipherSuiteDumpOpt = dumps.stream() .filter((dump) -> dump.type.contains("Cipher Suite")) - .findFirst().get(); + .findFirst(); + + assertTrue(cipherSuiteDumpOpt.isPresent(), "Cipher Suite dump section should exist"); + + SslSelectionDump cipherDump = cipherSuiteDumpOpt.get(); + assertThat("Dump Enabled List size is equal to selected list size", cipherDump.enabled.size(), is(selectedSuites.size())); for (String expectedCipherSuite : tlsRsaSuites) @@ -141,17 +137,19 @@ public class SslContextFactoryTest @Test public void testNoTsFileKs() throws Exception { + SslContextFactory.Server cf = new SslContextFactory.Server(); cf.setKeyStorePassword("storepwd"); cf.setKeyManagerPassword("keypwd"); cf.start(); - assertTrue(cf.getSslContext() != null); + assertNotNull(cf.getSslContext()); } @Test public void testNoTsSetKs() throws Exception { + SslContextFactory.Server cf = new SslContextFactory.Server(); KeyStore ks = KeyStore.getInstance("JKS"); try (InputStream keystoreInputStream = this.getClass().getResourceAsStream("keystore")) { @@ -162,26 +160,21 @@ public class SslContextFactoryTest cf.start(); - assertTrue(cf.getSslContext() != null); + assertNotNull(cf.getSslContext()); } @Test public void testNoTsNoKs() throws Exception { + SslContextFactory.Server cf = new SslContextFactory.Server(); cf.start(); - assertTrue(cf.getSslContext() != null); - } - - @Test - public void testTrustAll() throws Exception - { - cf.start(); - assertTrue(cf.getSslContext() != null); + assertNotNull(cf.getSslContext()); } @Test public void testNoTsResourceKs() throws Exception { + SslContextFactory.Server cf = new SslContextFactory.Server(); Resource keystoreResource = Resource.newSystemResource("keystore"); cf.setKeyStoreResource(keystoreResource); @@ -192,12 +185,13 @@ public class SslContextFactoryTest cf.start(); - assertTrue(cf.getSslContext() != null); + assertNotNull(cf.getSslContext()); } @Test public void testResourceTsResourceKs() throws Exception { + SslContextFactory.Server cf = new SslContextFactory.Server(); Resource keystoreResource = Resource.newSystemResource("keystore"); Resource truststoreResource = Resource.newSystemResource("keystore"); @@ -209,12 +203,13 @@ public class SslContextFactoryTest cf.start(); - assertTrue(cf.getSslContext() != null); + assertNotNull(cf.getSslContext()); } @Test public void testResourceTsResourceKsWrongPW() throws Exception { + SslContextFactory.Server cf = new SslContextFactory.Server(); Resource keystoreResource = Resource.newSystemResource("keystore"); Resource truststoreResource = Resource.newSystemResource("keystore"); @@ -227,7 +222,7 @@ public class SslContextFactoryTest try (StacklessLogging ignore = new StacklessLogging(AbstractLifeCycle.class)) { java.security.UnrecoverableKeyException x = assertThrows( - java.security.UnrecoverableKeyException.class, () -> cf.start()); + java.security.UnrecoverableKeyException.class, cf::start); assertThat(x.getMessage(), containsString("Cannot recover key")); } } @@ -235,6 +230,7 @@ public class SslContextFactoryTest @Test public void testResourceTsWrongPWResourceKs() throws Exception { + SslContextFactory.Server cf = new SslContextFactory.Server(); Resource keystoreResource = Resource.newSystemResource("keystore"); Resource truststoreResource = Resource.newSystemResource("keystore"); @@ -246,14 +242,15 @@ public class SslContextFactoryTest try (StacklessLogging ignore = new StacklessLogging(AbstractLifeCycle.class)) { - IOException x = assertThrows(IOException.class, () -> cf.start()); + IOException x = assertThrows(IOException.class, cf::start); assertThat(x.getMessage(), containsString("Keystore was tampered with, or password was incorrect")); } } @Test - public void testNoKeyConfig() throws Exception + public void testNoKeyConfig() { + SslContextFactory.Server cf = new SslContextFactory.Server(); try (StacklessLogging ignore = new StacklessLogging(AbstractLifeCycle.class)) { IllegalStateException x = assertThrows(IllegalStateException.class, () -> @@ -268,6 +265,7 @@ public class SslContextFactoryTest @Test public void testSetExcludeCipherSuitesRegex() throws Exception { + SslContextFactory.Server cf = new SslContextFactory.Server(); cf.setExcludeCipherSuites(".*RC4.*"); cf.start(); SSLEngine sslEngine = cf.newSSLEngine(); @@ -282,6 +280,7 @@ public class SslContextFactoryTest @Test public void testSetIncludeCipherSuitesRegex() throws Exception { + SslContextFactory.Server cf = new SslContextFactory.Server(); cf.setIncludeCipherSuites(".*ECDHE.*", ".*WIBBLE.*"); cf.start(); @@ -297,6 +296,7 @@ public class SslContextFactoryTest @Test public void testProtocolAndCipherSettingsAreNPESafe() { + SslContextFactory.Server cf = new SslContextFactory.Server(); assertNotNull(cf.getExcludeProtocols()); assertNotNull(cf.getIncludeProtocols()); assertNotNull(cf.getExcludeCipherSuites()); @@ -306,6 +306,7 @@ public class SslContextFactoryTest @Test public void testSNICertificates() throws Exception { + SslContextFactory.Server cf = new SslContextFactory.Server(); Resource keystoreResource = Resource.newSystemResource("snikeystore"); cf.setKeyStoreResource(keystoreResource); @@ -347,7 +348,7 @@ public class SslContextFactoryTest @Test public void testNonDefaultKeyStoreTypeUsedForTrustStore() throws Exception { - cf = new SslContextFactory.Server(); + SslContextFactory.Server cf = new SslContextFactory.Server(); cf.setKeyStoreResource(Resource.newSystemResource("keystore.p12")); cf.setKeyStoreType("pkcs12"); cf.setKeyStorePassword("storepwd"); @@ -365,7 +366,7 @@ public class SslContextFactoryTest @Test public void testClientSslContextFactory() throws Exception { - cf = new SslContextFactory.Client(); + SslContextFactory.Client cf = new SslContextFactory.Client(); cf.start(); assertEquals("HTTPS", cf.getEndpointIdentificationAlgorithm()); @@ -374,7 +375,7 @@ public class SslContextFactoryTest @Test public void testServerSslContextFactory() throws Exception { - cf = new SslContextFactory.Server(); + SslContextFactory.Server cf = new SslContextFactory.Server(); cf.start(); assertNull(cf.getEndpointIdentificationAlgorithm()); From cff4771375ee5120fdd11a82a3e090cc3ecd6135 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 29 Oct 2020 13:57:20 -0500 Subject: [PATCH 18/38] Issue #5531 - Test excluded protocol behavior Signed-off-by: Joakim Erdfelt --- .../jetty/util/ssl/SslContextFactoryTest.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java b/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java index ee7da6f8250..d1bf6123e4e 100644 --- a/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java +++ b/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java @@ -50,6 +50,7 @@ import org.eclipse.jetty.util.resource.Resource; import org.junit.jupiter.api.Test; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.arrayContaining; import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; @@ -95,6 +96,39 @@ public class SslContextFactoryTest } } + @Test + public void testDumpExcludedProtocols() throws Exception + { + SslContextFactory.Server cf = new SslContextFactory.Server(); + cf.setKeyStorePassword("storepwd"); + cf.setKeyManagerPassword("keypwd"); + cf.setExcludeProtocols("SSL.*", "TLSv1", "TLSv1\\.[01]"); + cf.start(); + + // Confirm behavior in engine + assertThat(cf.newSSLEngine().getEnabledProtocols(), not(arrayContaining("TLSv1.1"))); + + // Confirm output in dump + List dumps = cf.selectionDump(); + + Optional protocolDumpOpt = dumps.stream() + .filter((dump) -> dump.type.contains("Protocol")) + .findFirst(); + + assertTrue(protocolDumpOpt.isPresent(), "Protocol dump section should exist"); + + SslSelectionDump protocolDump = protocolDumpOpt.get(); + + long countTls11Enabled = protocolDump.enabled.stream().filter((t) -> t.contains("TLSv1.1")).count(); + long countTls11Disabled = protocolDump.disabled.stream().filter((t) -> t.contains("TLSv1.1")).count(); + + assertThat("Enabled Protocols TLSv1.1 count", countTls11Enabled, is(0L)); + assertThat("Disabled Protocols TLSv1.1 count", countTls11Disabled, is(1L)); + + // Uncomment to show in console. + // cf.dump(System.out, ""); + } + @Test public void testDumpIncludeTlsRsa() throws Exception { From c969fba71ad8d3938c5426b6e567b855cb8adbc1 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Thu, 29 Oct 2020 20:28:21 -0500 Subject: [PATCH 19/38] Issue #5531 - Using .setExcludeProtocols correctly. Signed-off-by: Joakim Erdfelt --- .../org/eclipse/jetty/util/ssl/SslContextFactoryTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java b/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java index d1bf6123e4e..5c33f065270 100644 --- a/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java +++ b/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java @@ -50,12 +50,12 @@ import org.eclipse.jetty.util.resource.Resource; import org.junit.jupiter.api.Test; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.arrayContaining; import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.hasItem; +import static org.hamcrest.Matchers.hasItemInArray; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.matchesRegex; import static org.hamcrest.Matchers.not; @@ -102,11 +102,11 @@ public class SslContextFactoryTest SslContextFactory.Server cf = new SslContextFactory.Server(); cf.setKeyStorePassword("storepwd"); cf.setKeyManagerPassword("keypwd"); - cf.setExcludeProtocols("SSL.*", "TLSv1", "TLSv1\\.[01]"); + cf.setExcludeProtocols("TLSv1", "TLSv1.1"); cf.start(); // Confirm behavior in engine - assertThat(cf.newSSLEngine().getEnabledProtocols(), not(arrayContaining("TLSv1.1"))); + assertThat(cf.newSSLEngine().getEnabledProtocols(), not(hasItemInArray("TLSv1.1"))); // Confirm output in dump List dumps = cf.selectionDump(); From 59883af8bf554e0308c6047a8ddcf4bd462e2bcc Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Fri, 30 Oct 2020 15:00:38 +1100 Subject: [PATCH 20/38] update version to 9.4.34-SNAPSHOT Signed-off-by: Lachlan Roberts --- .../test-webapps/test-websocket-client-provided-webapp/pom.xml | 2 +- tests/test-webapps/test-websocket-client-webapp/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml b/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml index 81511e0bd0b..9f57388e81e 100644 --- a/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml +++ b/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.33-SNAPSHOT + 9.4.34-SNAPSHOT 4.0.0 diff --git a/tests/test-webapps/test-websocket-client-webapp/pom.xml b/tests/test-webapps/test-websocket-client-webapp/pom.xml index ec8da282892..d4e41a770ec 100644 --- a/tests/test-webapps/test-websocket-client-webapp/pom.xml +++ b/tests/test-webapps/test-websocket-client-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.33-SNAPSHOT + 9.4.34-SNAPSHOT 4.0.0 From 074b4f90f7cbcda524e283eba03a94183ad71551 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Fri, 30 Oct 2020 10:29:35 -0500 Subject: [PATCH 21/38] Issue #5535 - Adding regex include/exclude of Protocols to SslContextFactory Signed-off-by: Joakim Erdfelt --- .../jetty/util/ssl/SslContextFactory.java | 131 +++++++++--------- .../jetty/util/ssl/SslContextFactoryTest.java | 5 +- 2 files changed, 68 insertions(+), 68 deletions(-) diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SslContextFactory.java b/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SslContextFactory.java index 8776e418205..5ec5e82b7b2 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SslContextFactory.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SslContextFactory.java @@ -47,14 +47,12 @@ import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; -import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.function.Consumer; -import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.net.ssl.CertPathTrustManagerParameters; import javax.net.ssl.HostnameVerifier; @@ -140,7 +138,7 @@ public class SslContextFactory extends AbstractLifeCycle implements Dumpable private final Set _excludeProtocols = new LinkedHashSet<>(); private final Set _includeProtocols = new LinkedHashSet<>(); private final Set _excludeCipherSuites = new LinkedHashSet<>(); - private final List _includeCipherSuites = new ArrayList<>(); + private final Set _includeCipherSuites = new LinkedHashSet<>(); private final Map _aliasX509 = new HashMap<>(); private final Map _certHosts = new HashMap<>(); private final Map _certWilds = new HashMap<>(); @@ -526,6 +524,8 @@ public class SslContextFactory extends AbstractLifeCycle implements Dumpable } /** + * You can either use the exact Protocol name or a a regular expression. + * * @param protocols The array of protocol names to exclude from * {@link SSLEngine#setEnabledProtocols(String[])} */ @@ -536,7 +536,9 @@ public class SslContextFactory extends AbstractLifeCycle implements Dumpable } /** - * @param protocol Protocol names to add to {@link SSLEngine#setEnabledProtocols(String[])} + * You can either use the exact Protocol name or a a regular expression. + * + * @param protocol Protocol name patterns to add to {@link SSLEngine#setEnabledProtocols(String[])} */ public void addExcludeProtocols(String... protocol) { @@ -544,7 +546,7 @@ public class SslContextFactory extends AbstractLifeCycle implements Dumpable } /** - * @return The array of protocol names to include in + * @return The array of protocol name patterns to include in * {@link SSLEngine#setEnabledProtocols(String[])} */ @ManagedAttribute("The included TLS protocols") @@ -554,7 +556,9 @@ public class SslContextFactory extends AbstractLifeCycle implements Dumpable } /** - * @param protocols The array of protocol names to include in + * You can either use the exact Protocol name or a a regular expression. + * + * @param protocols The array of protocol name patterns to include in * {@link SSLEngine#setEnabledProtocols(String[])} */ public void setIncludeProtocols(String... protocols) @@ -564,7 +568,7 @@ public class SslContextFactory extends AbstractLifeCycle implements Dumpable } /** - * @return The array of cipher suite names to exclude from + * @return The array of cipher suite name patterns to exclude from * {@link SSLEngine#setEnabledCipherSuites(String[])} */ @ManagedAttribute("The excluded cipher suites") @@ -574,7 +578,7 @@ public class SslContextFactory extends AbstractLifeCycle implements Dumpable } /** - * You can either use the exact cipher suite name or a a regular expression. + * You can either use the exact Cipher suite name or a a regular expression. * * @param cipherSuites The array of cipher suite names to exclude from * {@link SSLEngine#setEnabledCipherSuites(String[])} @@ -586,6 +590,8 @@ public class SslContextFactory extends AbstractLifeCycle implements Dumpable } /** + * You can either use the exact Cipher suite name or a a regular expression. + * * @param cipher Cipher names to add to {@link SSLEngine#setEnabledCipherSuites(String[])} */ public void addExcludeCipherSuites(String... cipher) @@ -594,7 +600,7 @@ public class SslContextFactory extends AbstractLifeCycle implements Dumpable } /** - * @return The array of cipher suite names to include in + * @return The array of Cipher suite names to include in * {@link SSLEngine#setEnabledCipherSuites(String[])} */ @ManagedAttribute("The included cipher suites") @@ -604,7 +610,7 @@ public class SslContextFactory extends AbstractLifeCycle implements Dumpable } /** - * You can either use the exact cipher suite name or a a regular expression. + * You can either use the exact Cipher suite name or a a regular expression. * * @param cipherSuites The array of cipher suite names to include in * {@link SSLEngine#setEnabledCipherSuites(String[])} @@ -1357,28 +1363,10 @@ public class SslContextFactory extends AbstractLifeCycle implements Dumpable */ public void selectProtocols(String[] enabledProtocols, String[] supportedProtocols) { - Set selectedProtocols = new LinkedHashSet<>(); - - // Set the starting protocols - either from the included or enabled list - if (!_includeProtocols.isEmpty()) - { - // Use only the supported included protocols - for (String protocol : _includeProtocols) - { - if (Arrays.asList(supportedProtocols).contains(protocol)) - selectedProtocols.add(protocol); - else - LOG.info("Protocol {} not supported in {}", protocol, Arrays.asList(supportedProtocols)); - } - } - else - selectedProtocols.addAll(Arrays.asList(enabledProtocols)); - - // Remove any excluded protocols - selectedProtocols.removeAll(_excludeProtocols); + List selectedProtocols = processIncludeExcludePatterns("Protocols", enabledProtocols, supportedProtocols, _includeProtocols, _excludeProtocols); if (selectedProtocols.isEmpty()) - LOG.warn("No selected protocols from {}", Arrays.asList(supportedProtocols)); + LOG.warn("No selected Protocols from {}", Arrays.asList(supportedProtocols)); _selectedProtocols = selectedProtocols.toArray(new String[0]); } @@ -1393,18 +1381,10 @@ public class SslContextFactory extends AbstractLifeCycle implements Dumpable */ protected void selectCipherSuites(String[] enabledCipherSuites, String[] supportedCipherSuites) { - List selectedCiphers = new ArrayList<>(); - - // Set the starting ciphers - either from the included or enabled list - if (_includeCipherSuites.isEmpty()) - selectedCiphers.addAll(Arrays.asList(enabledCipherSuites)); - else - processIncludeCipherSuites(supportedCipherSuites, selectedCiphers); - - removeExcludedCipherSuites(selectedCiphers); + List selectedCiphers = processIncludeExcludePatterns("Cipher Suite", enabledCipherSuites, supportedCipherSuites, _includeCipherSuites, _excludeCipherSuites); if (selectedCiphers.isEmpty()) - LOG.warn("No supported ciphers from {}", Arrays.asList(supportedCipherSuites)); + LOG.warn("No supported Cipher Suite from {}", Arrays.asList(supportedCipherSuites)); Comparator comparator = getCipherComparator(); if (comparator != null) @@ -1417,39 +1397,58 @@ public class SslContextFactory extends AbstractLifeCycle implements Dumpable _selectedCipherSuites = selectedCiphers.toArray(new String[0]); } - protected void processIncludeCipherSuites(String[] supportedCipherSuites, List selectedCiphers) + private List processIncludeExcludePatterns(String type, String[] enabled, String[] supported, Set included, Set excluded) { - for (String cipherSuite : _includeCipherSuites) + List selected = new ArrayList<>(); + // Set the starting list - either from the included or enabled list + if (included.isEmpty()) { - Pattern p = Pattern.compile(cipherSuite); - boolean added = false; - for (String supportedCipherSuite : supportedCipherSuites) - { - Matcher m = p.matcher(supportedCipherSuite); - if (m.matches()) - { - added = true; - selectedCiphers.add(supportedCipherSuite); - } - } - if (!added) - LOG.info("No Cipher matching '{}' is supported", cipherSuite); + selected.addAll(Arrays.asList(enabled)); } + else + { + // process include patterns + for (String includedItem : included) + { + Pattern pattern = Pattern.compile(includedItem); + boolean added = false; + for (String supportedItem : supported) + { + if (pattern.matcher(supportedItem).matches()) + { + added = true; + selected.add(supportedItem); + } + } + if (!added) + LOG.info("No {} matching '{}' is supported", type, includedItem); + } + } + + // process exclude patterns + for (String excludedItem : excluded) + { + Pattern pattern = Pattern.compile(excludedItem); + selected.removeIf(selectedItem -> pattern.matcher(selectedItem).matches()); + } + + return selected; } + /** + * @deprecated no replacement + */ + @Deprecated + protected void processIncludeCipherSuites(String[] supportedCipherSuites, List selectedCiphers) + { + } + + /** + * @deprecated no replacement + */ + @Deprecated protected void removeExcludedCipherSuites(List selectedCiphers) { - for (String excludeCipherSuite : _excludeCipherSuites) - { - Pattern excludeCipherPattern = Pattern.compile(excludeCipherSuite); - for (Iterator i = selectedCiphers.iterator(); i.hasNext(); ) - { - String selectedCipherSuite = i.next(); - Matcher m = excludeCipherPattern.matcher(selectedCipherSuite); - if (m.matches()) - i.remove(); - } - } } /** diff --git a/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java b/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java index 5c33f065270..b019084b090 100644 --- a/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java +++ b/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java @@ -102,11 +102,12 @@ public class SslContextFactoryTest SslContextFactory.Server cf = new SslContextFactory.Server(); cf.setKeyStorePassword("storepwd"); cf.setKeyManagerPassword("keypwd"); - cf.setExcludeProtocols("TLSv1", "TLSv1.1"); + cf.setExcludeProtocols("TLSv1\\.?[01]?"); cf.start(); // Confirm behavior in engine assertThat(cf.newSSLEngine().getEnabledProtocols(), not(hasItemInArray("TLSv1.1"))); + assertThat(cf.newSSLEngine().getEnabledProtocols(), not(hasItemInArray("TLSv1"))); // Confirm output in dump List dumps = cf.selectionDump(); @@ -125,7 +126,7 @@ public class SslContextFactoryTest assertThat("Enabled Protocols TLSv1.1 count", countTls11Enabled, is(0L)); assertThat("Disabled Protocols TLSv1.1 count", countTls11Disabled, is(1L)); - // Uncomment to show in console. + // Uncomment to show dump in console. // cf.dump(System.out, ""); } From 249cb02a75f14238510ef4e628d9fff8ff1d644f Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Fri, 30 Oct 2020 11:22:46 -0500 Subject: [PATCH 22/38] Issue #5535 - Removing irrelevant lines on test Signed-off-by: Joakim Erdfelt --- .../java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java b/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java index b019084b090..6171d2f1936 100644 --- a/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java +++ b/jetty-util/src/test/java/org/eclipse/jetty/util/ssl/SslContextFactoryTest.java @@ -100,8 +100,6 @@ public class SslContextFactoryTest public void testDumpExcludedProtocols() throws Exception { SslContextFactory.Server cf = new SslContextFactory.Server(); - cf.setKeyStorePassword("storepwd"); - cf.setKeyManagerPassword("keypwd"); cf.setExcludeProtocols("TLSv1\\.?[01]?"); cf.start(); From 2f295c126f3d82be535b2ceae54f0ac0ee839c8c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 30 Oct 2020 18:18:43 +0000 Subject: [PATCH 23/38] Bump mariadb-java-client from 2.6.0 to 2.7.0 Bumps [mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) from 2.6.0 to 2.7.0. - [Release notes](https://github.com/mariadb-corporation/mariadb-connector-j/releases) - [Changelog](https://github.com/mariadb-corporation/mariadb-connector-j/blob/master/CHANGELOG.md) - [Commits](https://github.com/mariadb-corporation/mariadb-connector-j/compare/2.6.0...2.7.0) Signed-off-by: dependabot[bot] --- tests/test-sessions/test-jdbc-sessions/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test-sessions/test-jdbc-sessions/pom.xml b/tests/test-sessions/test-jdbc-sessions/pom.xml index d38ef82fb85..c325780f0e4 100644 --- a/tests/test-sessions/test-jdbc-sessions/pom.xml +++ b/tests/test-sessions/test-jdbc-sessions/pom.xml @@ -83,7 +83,7 @@ org.mariadb.jdbc mariadb-java-client - 2.6.0 + 2.7.0 test From 9b4b52df59cb3130c1030ea7b127e813fe3fa626 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Nov 2020 06:40:10 +0000 Subject: [PATCH 24/38] Bump pax-url-wrap from 2.5.2 to 2.6.1 Bumps [pax-url-wrap](https://github.com/ops4j/org.ops4j.pax.url) from 2.5.2 to 2.6.1. - [Release notes](https://github.com/ops4j/org.ops4j.pax.url/releases) - [Commits](https://github.com/ops4j/org.ops4j.pax.url/compare/url-2.5.2...url-2.6.1) Signed-off-by: dependabot[bot] --- jetty-osgi/test-jetty-osgi/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetty-osgi/test-jetty-osgi/pom.xml b/jetty-osgi/test-jetty-osgi/pom.xml index 6552794ddec..1ef3836b1ce 100644 --- a/jetty-osgi/test-jetty-osgi/pom.xml +++ b/jetty-osgi/test-jetty-osgi/pom.xml @@ -71,7 +71,7 @@ org.ops4j.pax.url pax-url-wrap - 2.5.2 + 2.6.1 test From 365bab153c14c5895e7fab284a6e3182c432e816 Mon Sep 17 00:00:00 2001 From: gregw Date: Mon, 2 Nov 2020 10:19:08 +0100 Subject: [PATCH 25/38] Fixes #5555 NPE if Filter of named servlet Fixed #5555 NPE if there is a filter with a servlet name mapping, but a request is received for a servlet without a name match. Added more simple tests for servlet and filter mappings --- .../eclipse/jetty/servlet/ServletHandler.java | 10 +- .../jetty/servlet/ServletHandlerTest.java | 118 ++++++++++++++++++ 2 files changed, 125 insertions(+), 3 deletions(-) diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java index ba41caf3285..bd06cb7bd1e 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java @@ -614,10 +614,14 @@ public class ServletHandler extends ScopedHandler for (FilterMapping mapping : _wildFilterNameMappings) chain = newFilterChain(mapping.getFilterHolder(), chain == null ? new ChainEnd(servletHolder) : chain); - for (FilterMapping mapping : _filterNameMappings.get(servletHolder.getName())) + List nameMappings = _filterNameMappings.get(servletHolder.getName()); + if (nameMappings != null) { - if (mapping.appliesTo(dispatch)) - chain = newFilterChain(mapping.getFilterHolder(), chain == null ? new ChainEnd(servletHolder) : chain); + for (FilterMapping mapping : nameMappings) + { + if (mapping.appliesTo(dispatch)) + chain = newFilterChain(mapping.getFilterHolder(), chain == null ? new ChainEnd(servletHolder) : chain); + } } } diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletHandlerTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletHandlerTest.java index 29dc90ad1c1..5bddd101f30 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletHandlerTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletHandlerTest.java @@ -18,18 +18,29 @@ package org.eclipse.jetty.servlet; +import java.io.IOException; import java.util.ArrayList; import java.util.EnumSet; import java.util.List; import javax.servlet.DispatcherType; +import javax.servlet.Filter; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; import org.eclipse.jetty.http.pathmap.MappedResource; +import org.eclipse.jetty.server.LocalConnector; +import org.eclipse.jetty.server.Server; import org.eclipse.jetty.util.component.Container; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.containsString; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -730,4 +741,111 @@ public class ServletHandlerTest assertTrue(removeResults.contains(sh1)); assertTrue(removeResults.contains(lh1)); } + + @Test + public void testServletMappings() throws Exception + { + Server server = new Server(); + ServletHandler handler = new ServletHandler(); + server.setHandler(handler); + for (final String mapping : new String[] {"/", "/foo", "/bar/*", "*.bob"}) + { + handler.addServletWithMapping(new ServletHolder(new HttpServlet() + { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException + { + resp.getOutputStream().println("mapping='" + mapping + "'"); + } + }), mapping); + } + // add servlet with no mapping + handler.addServlet(new ServletHolder(new HttpServlet() {})); + + LocalConnector connector = new LocalConnector(server); + server.addConnector(connector); + + server.start(); + + assertThat(connector.getResponse("GET /default HTTP/1.0\r\n\r\n"), containsString("mapping='/'")); + assertThat(connector.getResponse("GET /foo HTTP/1.0\r\n\r\n"), containsString("mapping='/foo'")); + assertThat(connector.getResponse("GET /bar HTTP/1.0\r\n\r\n"), containsString("mapping='/bar/*'")); + assertThat(connector.getResponse("GET /bar/bob HTTP/1.0\r\n\r\n"), containsString("mapping='/bar/*'")); + assertThat(connector.getResponse("GET /bar/foo.bob HTTP/1.0\r\n\r\n"), containsString("mapping='/bar/*'")); + assertThat(connector.getResponse("GET /other/foo.bob HTTP/1.0\r\n\r\n"), containsString("mapping='*.bob'")); + } + + @Test + public void testFilterMappings() throws Exception + { + Server server = new Server(); + ServletHandler handler = new ServletHandler(); + server.setHandler(handler); + + ServletHolder foo = new ServletHolder(new HttpServlet() + { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException + { + resp.getOutputStream().println("FOO"); + } + }); + foo.setName("foo"); + handler.addServletWithMapping(foo, "/foo/*"); + + ServletHolder def = new ServletHolder(new HttpServlet() + { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException + { + resp.getOutputStream().println("default"); + } + }); + def.setName("default"); + handler.addServletWithMapping(def, "/"); + + for (final String mapping : new String[]{"/*", "/foo", "/bar/*", "*.bob"}) + { + handler.addFilterWithMapping(new FilterHolder((TestFilter)(request, response, chain) -> + { + response.getOutputStream().print("path-" + mapping + "-"); + chain.doFilter(request, response); + }), mapping, EnumSet.of(DispatcherType.REQUEST)); + } + + FilterHolder fooFilter = new FilterHolder((TestFilter)(request, response, chain) -> + { + response.getOutputStream().print("name-foo-"); + chain.doFilter(request, response); + }); + fooFilter.setName("fooFilter"); + FilterMapping named = new FilterMapping(); + named.setFilterHolder(fooFilter); + named.setServletName("foo"); + handler.addFilter(fooFilter, named); + + LocalConnector connector = new LocalConnector(server); + server.addConnector(connector); + + server.start(); + + assertThat(connector.getResponse("GET /default HTTP/1.0\r\n\r\n"), containsString("path-/*-default")); + assertThat(connector.getResponse("GET /foo HTTP/1.0\r\n\r\n"), containsString("path-/*-path-/foo-name-foo-FOO")); + assertThat(connector.getResponse("GET /foo/bar HTTP/1.0\r\n\r\n"), containsString("path-/*-name-foo-FOO")); + assertThat(connector.getResponse("GET /foo/bar.bob HTTP/1.0\r\n\r\n"), containsString("path-/*-path-*.bob-name-foo-FOO")); + assertThat(connector.getResponse("GET /other.bob HTTP/1.0\r\n\r\n"), containsString("path-/*-path-*.bob-default")); + } + + private interface TestFilter extends Filter + { + default void init(FilterConfig filterConfig) throws ServletException + { + } + + @Override + default void destroy() + { + } + } + } From e70e995f0c451e77f49b5aec91ce760c2b0890c7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Nov 2020 19:30:29 +1000 Subject: [PATCH 26/38] Bump openwebbeans.version from 2.0.18 to 2.0.19 (#5551) Bumps `openwebbeans.version` from 2.0.18 to 2.0.19. Updates `openwebbeans-web` from 2.0.18 to 2.0.19 - [Release notes](https://github.com/apache/openwebbeans/releases) - [Commits](https://github.com/apache/openwebbeans/commits) Updates `openwebbeans-jetty9` from 2.0.18 to 2.0.19 - [Release notes](https://github.com/apache/openwebbeans/releases) - [Commits](https://github.com/apache/openwebbeans/commits) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tests/test-webapps/test-owb-cdi-webapp/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test-webapps/test-owb-cdi-webapp/pom.xml b/tests/test-webapps/test-owb-cdi-webapp/pom.xml index 03246d0cec1..35c8a3cddfc 100644 --- a/tests/test-webapps/test-owb-cdi-webapp/pom.xml +++ b/tests/test-webapps/test-owb-cdi-webapp/pom.xml @@ -13,7 +13,7 @@ ${project.groupId}.cdi.owb - 2.0.18 + 2.0.19 From 40acf60936174da34e7f41992a3abb2e8df7f665 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Nov 2020 19:31:04 +1000 Subject: [PATCH 27/38] Bump geronimo-annotation_1.3_spec from 1.1 to 1.3 (#5552) Bumps geronimo-annotation_1.3_spec from 1.1 to 1.3. Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tests/test-webapps/test-owb-cdi-webapp/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test-webapps/test-owb-cdi-webapp/pom.xml b/tests/test-webapps/test-owb-cdi-webapp/pom.xml index 35c8a3cddfc..2f796578ab7 100644 --- a/tests/test-webapps/test-owb-cdi-webapp/pom.xml +++ b/tests/test-webapps/test-owb-cdi-webapp/pom.xml @@ -40,7 +40,7 @@ org.apache.geronimo.specs geronimo-annotation_1.3_spec - 1.1 + 1.3 org.apache.geronimo.specs From f21c606f1d202b521546d54d160663e2ad18dbbe Mon Sep 17 00:00:00 2001 From: gregw Date: Mon, 2 Nov 2020 10:45:45 +0100 Subject: [PATCH 28/38] Fixes #5539 Stats XML format Signed-off-by: gregw --- .../main/java/org/eclipse/jetty/servlet/StatisticsServlet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/StatisticsServlet.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/StatisticsServlet.java index 84930ea8950..55fd67963ae 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/StatisticsServlet.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/StatisticsServlet.java @@ -203,7 +203,7 @@ public class StatisticsServlet extends HttpServlet sb.append(" ").append(connectionStats.getConnectionDurationMax()).append("\n"); sb.append(" ").append(connectionStats.getConnectionDurationStdDev()).append("\n"); sb.append(" ").append(connectionStats.getReceivedBytes()).append("\n"); - sb.append(" ").append(connectionStats.getSentBytes()).append("\n"); + sb.append(" ").append(connectionStats.getSentBytes()).append("\n"); sb.append(" ").append(connectionStats.getReceivedMessages()).append("\n"); sb.append(" ").append(connectionStats.getSentMessages()).append("\n"); } From b77ee515a5b14435260ad914b29d2bf309694685 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Mon, 2 Nov 2020 13:30:52 +0100 Subject: [PATCH 29/38] Fixes #5555 NPE if Filter of named servlet (#5556) Fixed #5555 NPE if there is a filter with a servlet name mapping, but a request is received for a servlet without a name match. Added more simple tests for servlet and filter mappings --- .../eclipse/jetty/servlet/ServletHandler.java | 10 +- .../jetty/servlet/ServletHandlerTest.java | 118 ++++++++++++++++++ 2 files changed, 125 insertions(+), 3 deletions(-) diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java index ba41caf3285..bd06cb7bd1e 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java @@ -614,10 +614,14 @@ public class ServletHandler extends ScopedHandler for (FilterMapping mapping : _wildFilterNameMappings) chain = newFilterChain(mapping.getFilterHolder(), chain == null ? new ChainEnd(servletHolder) : chain); - for (FilterMapping mapping : _filterNameMappings.get(servletHolder.getName())) + List nameMappings = _filterNameMappings.get(servletHolder.getName()); + if (nameMappings != null) { - if (mapping.appliesTo(dispatch)) - chain = newFilterChain(mapping.getFilterHolder(), chain == null ? new ChainEnd(servletHolder) : chain); + for (FilterMapping mapping : nameMappings) + { + if (mapping.appliesTo(dispatch)) + chain = newFilterChain(mapping.getFilterHolder(), chain == null ? new ChainEnd(servletHolder) : chain); + } } } diff --git a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletHandlerTest.java b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletHandlerTest.java index 29dc90ad1c1..5bddd101f30 100644 --- a/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletHandlerTest.java +++ b/jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletHandlerTest.java @@ -18,18 +18,29 @@ package org.eclipse.jetty.servlet; +import java.io.IOException; import java.util.ArrayList; import java.util.EnumSet; import java.util.List; import javax.servlet.DispatcherType; +import javax.servlet.Filter; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; import org.eclipse.jetty.http.pathmap.MappedResource; +import org.eclipse.jetty.server.LocalConnector; +import org.eclipse.jetty.server.Server; import org.eclipse.jetty.util.component.Container; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.containsString; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -730,4 +741,111 @@ public class ServletHandlerTest assertTrue(removeResults.contains(sh1)); assertTrue(removeResults.contains(lh1)); } + + @Test + public void testServletMappings() throws Exception + { + Server server = new Server(); + ServletHandler handler = new ServletHandler(); + server.setHandler(handler); + for (final String mapping : new String[] {"/", "/foo", "/bar/*", "*.bob"}) + { + handler.addServletWithMapping(new ServletHolder(new HttpServlet() + { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException + { + resp.getOutputStream().println("mapping='" + mapping + "'"); + } + }), mapping); + } + // add servlet with no mapping + handler.addServlet(new ServletHolder(new HttpServlet() {})); + + LocalConnector connector = new LocalConnector(server); + server.addConnector(connector); + + server.start(); + + assertThat(connector.getResponse("GET /default HTTP/1.0\r\n\r\n"), containsString("mapping='/'")); + assertThat(connector.getResponse("GET /foo HTTP/1.0\r\n\r\n"), containsString("mapping='/foo'")); + assertThat(connector.getResponse("GET /bar HTTP/1.0\r\n\r\n"), containsString("mapping='/bar/*'")); + assertThat(connector.getResponse("GET /bar/bob HTTP/1.0\r\n\r\n"), containsString("mapping='/bar/*'")); + assertThat(connector.getResponse("GET /bar/foo.bob HTTP/1.0\r\n\r\n"), containsString("mapping='/bar/*'")); + assertThat(connector.getResponse("GET /other/foo.bob HTTP/1.0\r\n\r\n"), containsString("mapping='*.bob'")); + } + + @Test + public void testFilterMappings() throws Exception + { + Server server = new Server(); + ServletHandler handler = new ServletHandler(); + server.setHandler(handler); + + ServletHolder foo = new ServletHolder(new HttpServlet() + { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException + { + resp.getOutputStream().println("FOO"); + } + }); + foo.setName("foo"); + handler.addServletWithMapping(foo, "/foo/*"); + + ServletHolder def = new ServletHolder(new HttpServlet() + { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException + { + resp.getOutputStream().println("default"); + } + }); + def.setName("default"); + handler.addServletWithMapping(def, "/"); + + for (final String mapping : new String[]{"/*", "/foo", "/bar/*", "*.bob"}) + { + handler.addFilterWithMapping(new FilterHolder((TestFilter)(request, response, chain) -> + { + response.getOutputStream().print("path-" + mapping + "-"); + chain.doFilter(request, response); + }), mapping, EnumSet.of(DispatcherType.REQUEST)); + } + + FilterHolder fooFilter = new FilterHolder((TestFilter)(request, response, chain) -> + { + response.getOutputStream().print("name-foo-"); + chain.doFilter(request, response); + }); + fooFilter.setName("fooFilter"); + FilterMapping named = new FilterMapping(); + named.setFilterHolder(fooFilter); + named.setServletName("foo"); + handler.addFilter(fooFilter, named); + + LocalConnector connector = new LocalConnector(server); + server.addConnector(connector); + + server.start(); + + assertThat(connector.getResponse("GET /default HTTP/1.0\r\n\r\n"), containsString("path-/*-default")); + assertThat(connector.getResponse("GET /foo HTTP/1.0\r\n\r\n"), containsString("path-/*-path-/foo-name-foo-FOO")); + assertThat(connector.getResponse("GET /foo/bar HTTP/1.0\r\n\r\n"), containsString("path-/*-name-foo-FOO")); + assertThat(connector.getResponse("GET /foo/bar.bob HTTP/1.0\r\n\r\n"), containsString("path-/*-path-*.bob-name-foo-FOO")); + assertThat(connector.getResponse("GET /other.bob HTTP/1.0\r\n\r\n"), containsString("path-/*-path-*.bob-default")); + } + + private interface TestFilter extends Filter + { + default void init(FilterConfig filterConfig) throws ServletException + { + } + + @Override + default void destroy() + { + } + } + } From 60c56d885640db4588816b04c26e48e985f8bbd8 Mon Sep 17 00:00:00 2001 From: Lachlan Roberts Date: Mon, 2 Nov 2020 23:43:42 +1100 Subject: [PATCH 30/38] changes from review Signed-off-by: Lachlan Roberts --- .../client/XmlBasedHttpClientProvider.java | 8 +------- .../tests/distribution/DistributionTests.java | 5 ++--- .../src/test/resources/keystore | Bin 1426 -> 0 bytes .../webapp/websocket/WebSocketClientServlet.java | 10 +++++++--- 4 files changed, 10 insertions(+), 13 deletions(-) delete mode 100644 tests/test-distribution/src/test/resources/keystore diff --git a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java index 93e347c66c9..b93f0f3bb89 100644 --- a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java +++ b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java @@ -46,16 +46,10 @@ class XmlBasedHttpClientProvider Thread.currentThread().setContextClassLoader(HttpClient.class.getClassLoader()); return newHttpClient(resource); } - catch (Throwable t) - { - LOG.warn("Failure to load HttpClient from XML", t); - } finally { Thread.currentThread().setContextClassLoader(contextClassLoader); } - - return null; } private static HttpClient newHttpClient(URL resource) @@ -67,7 +61,7 @@ class XmlBasedHttpClientProvider } catch (Throwable t) { - LOG.warn("Unable to load: {}", resource, t); + LOG.warn("Failure to load HttpClient from XML {}", resource, t); } return null; diff --git a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java index 961c60c5e80..d89185bda5d 100644 --- a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java +++ b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java @@ -351,9 +351,7 @@ public class DistributionTests extends AbstractDistributionTest assertEquals(HttpStatus.OK_200, response.getStatus()); String content = response.getContentAsString(); assertThat(content, containsString("WebSocketEcho: success")); - - // We cannot test the HttpClient timeout because it is a server class not exposed to the webapp. - // assertThat(content, containsString("ConnectTimeout: 4999")); + assertThat(content, containsString("ConnectTimeout: 4999")); } } } @@ -387,6 +385,7 @@ public class DistributionTests extends AbstractDistributionTest String[] args2 = { "jetty.http.port=" + port, "jetty.ssl.port=" + port, + // We must hide the websocket classes from the webapp if we are to include websocket client jars in WEB-INF/lib. "jetty.webapp.addServerClasses+=,+org.eclipse.jetty.websocket.", "jetty.webapp.addSystemClasses+=,-org.eclipse.jetty.websocket.", // "jetty.server.dumpAfterStart=true", diff --git a/tests/test-distribution/src/test/resources/keystore b/tests/test-distribution/src/test/resources/keystore deleted file mode 100644 index b727bd0fb777fddb3463c81cb56963a7541f7b45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1426 zcmezO_TO6u1_mY|W&~r_+{*0KN+9!5EW=$#pv*3VCZ=r$d~96WY>X_7T1LX-9cnmv_92vyZY^nksPD zdgGz_%YMiA%<+G`?zc{_^OTmKsam}GdFt7neK!{P|Bco8Yq|9PvTGT0HqQC!@x9l1 z+kfrLjk$U4PfrzX4>?lEY_X)NU`c_upzVKwLzZV_Z=OB7;%H;~#q=-kB7C15mGAK^ zvQDWpwV1Q=%|)J*vS+h8eD_X&KBLa;y!Ym4fd?y?u6<@yiQRcgW4YSWJ1qI-Q@4qE za4m1Vxao>O&#^E1)!s>&+m1~AFk#ErRgE9c$R|1RHZn>ST)F2PCX`h;GftH|P3C*s zWzB^ZGW^U2Io6G9jl> z6zzz+mrM40Funf&SL@T49sAWnZvUNcc-}kaM`;+(`I*O}e=OTwz2vdB%C^t0KV2dN z8|5bLIJC=m`3p1S>EdUM&gly9o_)k?62R=&u_P~(KYzPEv+V7u$GBF7Yt*targsEg zTQzgVqnKmgxtO%H)!0fto_uWX^v1c;QdM?#toT{0*tgvCKBx=r`VraapZ2`+cgggB z-Pvqw9={ifyv(DLz=%jkh_cpEkNBn#fQtx!K-V#22ApgPb-K(wNrdO3Et=(zk zH%r#4Uj9|=lZlRA5;d`xvpUaban7~tb)L?vqO(?31t6P_KXXUmI|NTdEW^*XD%W$kc6J6C`ZJL_TRc(ux#yKj=Ue_0-Rb!XA^BcIEU@^esCUfRc7B*q_(7f!t{PH}Q2nU7; zJ3>UpKnkRbOIX-9zos$!bwcyY3l3?6uy+&YLB9AjrXwMJ9=TVxnh^gTTRrgQDAx z_HixoIbPSC|G?I^w5omSz6+C2WR&Q742Af!tZ{F_B0c(^#Lh& zza|JWF*7nSB0CQl;mkmH*$SFDWnY}}>VU(o3#<5V+huGG`Dn2??1_qdd2)==i--F? zs#KSqOx?Wrm7jRA(!0Yuu5HVhrWZZce5Lb}5Bq8!uvR=V-JM%7`INM|?JE9h{&PR9 zPS5OYv=7|qeAeX{<0}8%Th2N96wN*x(D1*r!0!3JEkDAd&tKmoUZ_-IpH*z9SS Date: Mon, 2 Nov 2020 14:08:46 +0100 Subject: [PATCH 31/38] More cleanup for #5555 Some more cleanup for #5555 --- .../eclipse/jetty/servlet/ServletHandler.java | 21 +++++-------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java index bd06cb7bd1e..4f29e4e76d8 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java @@ -521,21 +521,8 @@ public class ServletHandler extends ScopedHandler FilterChain chain = null; // find the servlet - if (target.startsWith("/")) - { - if (servletHolder != null && _filterMappings != null && _filterMappings.length > 0) - chain = getFilterChain(baseRequest, target, servletHolder); - } - else - { - if (servletHolder != null) - { - if (_filterMappings != null && _filterMappings.length > 0) - { - chain = getFilterChain(baseRequest, null, servletHolder); - } - } - } + if (servletHolder != null && _filterMappings != null && _filterMappings.length > 0) + chain = getFilterChain(baseRequest, target.startsWith("/") ? target : null, servletHolder); if (LOG.isDebugEnabled()) LOG.debug("chain={}", chain); @@ -593,6 +580,7 @@ public class ServletHandler extends ScopedHandler protected FilterChain getFilterChain(Request baseRequest, String pathInContext, ServletHolder servletHolder) { + Objects.requireNonNull(servletHolder); String key = pathInContext == null ? servletHolder.getName() : pathInContext; int dispatch = FilterMapping.dispatch(baseRequest.getDispatcherType()); @@ -608,7 +596,7 @@ public class ServletHandler extends ScopedHandler // The mappings lists have been reversed to make this simple and fast. FilterChain chain = null; - if (servletHolder != null && _filterNameMappings != null && !_filterNameMappings.isEmpty()) + if (_filterNameMappings != null && !_filterNameMappings.isEmpty()) { if (_wildFilterNameMappings != null) for (FilterMapping mapping : _wildFilterNameMappings) @@ -1626,6 +1614,7 @@ public class ServletHandler extends ScopedHandler ChainEnd(ServletHolder holder) { + Objects.requireNonNull(holder); _servletHolder = holder; } From e46af88704a893fc12cb0e3bf46e2c7b48a009e7 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Mon, 2 Nov 2020 08:03:51 -0600 Subject: [PATCH 32/38] Updating to version 9.4.34.v20201102 --- VERSION.txt | 11 +- aggregates/jetty-all-compact3/pom.xml | 2 +- aggregates/jetty-all/pom.xml | 2 +- apache-jsp/pom.xml | 2 +- apache-jstl/pom.xml | 2 +- build-resources/pom.xml | 2 +- examples/async-rest/async-rest-jar/pom.xml | 2 +- examples/async-rest/async-rest-webapp/pom.xml | 2 +- examples/async-rest/pom.xml | 2 +- examples/embedded/pom.xml | 2 +- examples/pom.xml | 2 +- jetty-alpn/jetty-alpn-client/pom.xml | 2 +- .../jetty-alpn-conscrypt-client/pom.xml | 2 +- .../jetty-alpn-conscrypt-server/pom.xml | 2 +- jetty-alpn/jetty-alpn-java-client/pom.xml | 2 +- jetty-alpn/jetty-alpn-java-server/pom.xml | 2 +- jetty-alpn/jetty-alpn-openjdk8-client/pom.xml | 2 +- jetty-alpn/jetty-alpn-openjdk8-server/pom.xml | 2 +- jetty-alpn/jetty-alpn-server/pom.xml | 2 +- jetty-alpn/pom.xml | 2 +- jetty-annotations/pom.xml | 2 +- jetty-ant/pom.xml | 2 +- jetty-bom/pom.xml | 134 +++++++++--------- jetty-cdi/pom.xml | 2 +- jetty-client/pom.xml | 2 +- jetty-continuation/pom.xml | 2 +- jetty-deploy/pom.xml | 2 +- jetty-distribution/pom.xml | 2 +- jetty-documentation/pom.xml | 2 +- jetty-fcgi/fcgi-client/pom.xml | 2 +- jetty-fcgi/fcgi-server/pom.xml | 2 +- jetty-fcgi/pom.xml | 2 +- .../jetty-gcloud-session-manager/pom.xml | 2 +- jetty-gcloud/pom.xml | 2 +- jetty-hazelcast/pom.xml | 2 +- jetty-home/pom.xml | 2 +- jetty-http-spi/pom.xml | 2 +- jetty-http/pom.xml | 2 +- jetty-http2/http2-alpn-tests/pom.xml | 2 +- jetty-http2/http2-client/pom.xml | 2 +- jetty-http2/http2-common/pom.xml | 2 +- jetty-http2/http2-hpack/pom.xml | 2 +- .../http2-http-client-transport/pom.xml | 2 +- jetty-http2/http2-server/pom.xml | 2 +- jetty-http2/pom.xml | 2 +- jetty-infinispan/infinispan-common/pom.xml | 2 +- .../infinispan-embedded-query/pom.xml | 2 +- jetty-infinispan/infinispan-embedded/pom.xml | 2 +- .../infinispan-remote-query/pom.xml | 2 +- jetty-infinispan/infinispan-remote/pom.xml | 2 +- jetty-infinispan/pom.xml | 2 +- jetty-io/pom.xml | 2 +- jetty-jaas/pom.xml | 2 +- jetty-jaspi/pom.xml | 2 +- jetty-jmh/pom.xml | 2 +- jetty-jmx/pom.xml | 2 +- jetty-jndi/pom.xml | 2 +- jetty-jspc-maven-plugin/pom.xml | 2 +- jetty-maven-plugin/pom.xml | 2 +- .../jetty-memcached-sessions/pom.xml | 2 +- jetty-memcached/pom.xml | 2 +- jetty-nosql/pom.xml | 2 +- jetty-openid/pom.xml | 2 +- jetty-osgi/jetty-osgi-alpn/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-jsp/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-warurl/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot/pom.xml | 2 +- jetty-osgi/jetty-osgi-httpservice/pom.xml | 2 +- jetty-osgi/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-context/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-fragment/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-server/pom.xml | 2 +- .../test-jetty-osgi-webapp-resources/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-webapp/pom.xml | 2 +- jetty-osgi/test-jetty-osgi/pom.xml | 2 +- jetty-plus/pom.xml | 2 +- jetty-proxy/pom.xml | 2 +- jetty-quickstart/pom.xml | 2 +- jetty-rewrite/pom.xml | 2 +- jetty-runner/pom.xml | 2 +- jetty-security/pom.xml | 2 +- jetty-server/pom.xml | 2 +- jetty-servlet/pom.xml | 2 +- jetty-servlets/pom.xml | 2 +- jetty-spring/pom.xml | 2 +- jetty-start/pom.xml | 2 +- jetty-unixsocket/pom.xml | 2 +- jetty-util-ajax/pom.xml | 2 +- jetty-util/pom.xml | 2 +- jetty-webapp/pom.xml | 2 +- .../javax-websocket-client-impl/pom.xml | 2 +- .../javax-websocket-server-impl/pom.xml | 2 +- jetty-websocket/jetty-websocket-tests/pom.xml | 2 +- jetty-websocket/pom.xml | 2 +- jetty-websocket/websocket-api/pom.xml | 2 +- jetty-websocket/websocket-client/pom.xml | 2 +- jetty-websocket/websocket-common/pom.xml | 2 +- jetty-websocket/websocket-server/pom.xml | 2 +- jetty-websocket/websocket-servlet/pom.xml | 2 +- jetty-xml/pom.xml | 2 +- pom.xml | 2 +- tests/pom.xml | 2 +- tests/test-continuation/pom.xml | 2 +- tests/test-distribution/pom.xml | 2 +- tests/test-http-client-transport/pom.xml | 2 +- tests/test-integration/pom.xml | 2 +- tests/test-jmx/jmx-webapp-it/pom.xml | 2 +- tests/test-jmx/jmx-webapp/pom.xml | 2 +- tests/test-jmx/pom.xml | 2 +- tests/test-loginservice/pom.xml | 2 +- tests/test-quickstart/pom.xml | 2 +- tests/test-sessions/pom.xml | 2 +- .../test-sessions/test-file-sessions/pom.xml | 2 +- .../test-gcloud-sessions/pom.xml | 2 +- .../test-hazelcast-sessions/pom.xml | 2 +- .../test-infinispan-sessions/pom.xml | 2 +- .../test-sessions/test-jdbc-sessions/pom.xml | 2 +- .../test-memcached-sessions/pom.xml | 2 +- .../test-mongodb-sessions/pom.xml | 2 +- .../test-sessions-common/pom.xml | 2 +- tests/test-webapps/pom.xml | 2 +- .../test-cdi-common-webapp/pom.xml | 2 +- tests/test-webapps/test-felix-webapp/pom.xml | 2 +- tests/test-webapps/test-http2-webapp/pom.xml | 2 +- tests/test-webapps/test-jaas-webapp/pom.xml | 2 +- tests/test-webapps/test-jetty-webapp/pom.xml | 2 +- tests/test-webapps/test-jndi-webapp/pom.xml | 2 +- .../test-webapps/test-mock-resources/pom.xml | 2 +- .../test-webapps/test-owb-cdi-webapp/pom.xml | 2 +- tests/test-webapps/test-proxy-webapp/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/pom.xml | 2 +- .../test-container-initializer/pom.xml | 2 +- .../test-spec-webapp/pom.xml | 2 +- .../test-web-fragment/pom.xml | 2 +- tests/test-webapps/test-simple-webapp/pom.xml | 2 +- .../test-webapps/test-webapp-rfc2616/pom.xml | 2 +- .../pom.xml | 2 +- .../test-websocket-client-webapp/pom.xml | 2 +- .../test-webapps/test-weld-cdi-webapp/pom.xml | 2 +- 139 files changed, 213 insertions(+), 206 deletions(-) diff --git a/VERSION.txt b/VERSION.txt index 4aba2b75352..b616a9a89ec 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1,4 +1,11 @@ -jetty-9.4.34-SNAPSHOT +jetty-9.4.34.v20201102 - 02 November 2020 + + 5320 Using WebSocketClient with jetty-websocket-httpclient.xml in a Jetty + web application causes ClassCastException + + 5488 jetty-dir.css not found when using JPMS + + 5498 ServletHolder lifecycle correctness + + 5521 ResourceCollection NPE in list() + + 5535 Support regex in SslContextFactory include/exclude of protocols + + 5555 NPE for servlet with no mapping jetty-9.4.33.v20201020 - 20 October 2020 + 5022 Cleanup ServletHandler, specifically with respect to making filter @@ -15,7 +22,7 @@ jetty-9.4.33.v20201020 - 20 October 2020 + 5451 Improve Working Directory creation + 5454 Request error context is not reset + 5475 Update to spifly 1.3.2 and asm 9 - + 5480 NPE from WebInfConfiguration.deconfigure during WebAppContext shutdown + + 5480 NPE from WebInfConfiguration.deconfigure during WebAppContext shutdown jetty-9.4.32.v20200930 - 30 September 2020 + 2796 HTTP/2 max local stream count exceeded when request fails diff --git a/aggregates/jetty-all-compact3/pom.xml b/aggregates/jetty-all-compact3/pom.xml index a8bb9cc1025..8220204de21 100644 --- a/aggregates/jetty-all-compact3/pom.xml +++ b/aggregates/jetty-all-compact3/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 ../../pom.xml 4.0.0 diff --git a/aggregates/jetty-all/pom.xml b/aggregates/jetty-all/pom.xml index c43ae8961a3..4ea53b077a4 100644 --- a/aggregates/jetty-all/pom.xml +++ b/aggregates/jetty-all/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 ../../pom.xml 4.0.0 diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index 7267eabffc7..f0c948c8609 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 apache-jsp diff --git a/apache-jstl/pom.xml b/apache-jstl/pom.xml index dcaaa3e2456..8326711ad5b 100644 --- a/apache-jstl/pom.xml +++ b/apache-jstl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 apache-jstl diff --git a/build-resources/pom.xml b/build-resources/pom.xml index a029c7b7d24..bc516653a03 100644 --- a/build-resources/pom.xml +++ b/build-resources/pom.xml @@ -2,7 +2,7 @@ 4.0.0 org.eclipse.jetty build-resources - 9.4.34-SNAPSHOT + 9.4.34.v20201102 jar Jetty :: Build Resources diff --git a/examples/async-rest/async-rest-jar/pom.xml b/examples/async-rest/async-rest-jar/pom.xml index ed8d7115d62..215bd7f1055 100644 --- a/examples/async-rest/async-rest-jar/pom.xml +++ b/examples/async-rest/async-rest-jar/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/examples/async-rest/async-rest-webapp/pom.xml b/examples/async-rest/async-rest-webapp/pom.xml index 66aaef0c0c9..9e4568f19b0 100644 --- a/examples/async-rest/async-rest-webapp/pom.xml +++ b/examples/async-rest/async-rest-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/examples/async-rest/pom.xml b/examples/async-rest/pom.xml index 6e493913177..1cc07209b7f 100644 --- a/examples/async-rest/pom.xml +++ b/examples/async-rest/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/examples/embedded/pom.xml b/examples/embedded/pom.xml index 73c32602035..623cd669d3b 100644 --- a/examples/embedded/pom.xml +++ b/examples/embedded/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 ../pom.xml 4.0.0 diff --git a/examples/pom.xml b/examples/pom.xml index 70fb91b7f62..da6bd76972c 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-alpn/jetty-alpn-client/pom.xml b/jetty-alpn/jetty-alpn-client/pom.xml index 49c5de24037..182b11be917 100644 --- a/jetty-alpn/jetty-alpn-client/pom.xml +++ b/jetty-alpn/jetty-alpn-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-alpn-client diff --git a/jetty-alpn/jetty-alpn-conscrypt-client/pom.xml b/jetty-alpn/jetty-alpn-conscrypt-client/pom.xml index 11709632c58..d970721525b 100644 --- a/jetty-alpn/jetty-alpn-conscrypt-client/pom.xml +++ b/jetty-alpn/jetty-alpn-conscrypt-client/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-alpn/jetty-alpn-conscrypt-server/pom.xml b/jetty-alpn/jetty-alpn-conscrypt-server/pom.xml index d3db84f311e..f141fb5296f 100644 --- a/jetty-alpn/jetty-alpn-conscrypt-server/pom.xml +++ b/jetty-alpn/jetty-alpn-conscrypt-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-alpn/jetty-alpn-java-client/pom.xml b/jetty-alpn/jetty-alpn-java-client/pom.xml index d58eb8c1a4d..671287e7c15 100644 --- a/jetty-alpn/jetty-alpn-java-client/pom.xml +++ b/jetty-alpn/jetty-alpn-java-client/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-alpn/jetty-alpn-java-server/pom.xml b/jetty-alpn/jetty-alpn-java-server/pom.xml index c65fba0db72..580cef0929e 100644 --- a/jetty-alpn/jetty-alpn-java-server/pom.xml +++ b/jetty-alpn/jetty-alpn-java-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-alpn/jetty-alpn-openjdk8-client/pom.xml b/jetty-alpn/jetty-alpn-openjdk8-client/pom.xml index 03a0d465d52..9406aa37f9f 100644 --- a/jetty-alpn/jetty-alpn-openjdk8-client/pom.xml +++ b/jetty-alpn/jetty-alpn-openjdk8-client/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-alpn/jetty-alpn-openjdk8-server/pom.xml b/jetty-alpn/jetty-alpn-openjdk8-server/pom.xml index b3970e41928..7b1c5e680de 100644 --- a/jetty-alpn/jetty-alpn-openjdk8-server/pom.xml +++ b/jetty-alpn/jetty-alpn-openjdk8-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-alpn/jetty-alpn-server/pom.xml b/jetty-alpn/jetty-alpn-server/pom.xml index 124ad095a56..2f387f701f1 100644 --- a/jetty-alpn/jetty-alpn-server/pom.xml +++ b/jetty-alpn/jetty-alpn-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-alpn-server diff --git a/jetty-alpn/pom.xml b/jetty-alpn/pom.xml index 1b60f1edd6d..04fc37fa8ca 100644 --- a/jetty-alpn/pom.xml +++ b/jetty-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-alpn-parent diff --git a/jetty-annotations/pom.xml b/jetty-annotations/pom.xml index 74bcfa9051c..82bffad63f1 100644 --- a/jetty-annotations/pom.xml +++ b/jetty-annotations/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-annotations diff --git a/jetty-ant/pom.xml b/jetty-ant/pom.xml index 3231c89d015..a9536884966 100644 --- a/jetty-ant/pom.xml +++ b/jetty-ant/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-ant diff --git a/jetty-bom/pom.xml b/jetty-bom/pom.xml index dd79bb0eeed..20e2fcba358 100644 --- a/jetty-bom/pom.xml +++ b/jetty-bom/pom.xml @@ -9,7 +9,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 @@ -53,336 +53,336 @@ org.eclipse.jetty apache-jsp - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty apache-jstl - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-alpn-client - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-alpn-java-client - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-alpn-java-server - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-alpn-openjdk8-client - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-alpn-openjdk8-server - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-alpn-conscrypt-client - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-alpn-conscrypt-server - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-alpn-server - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-annotations - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-ant - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-client - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-continuation - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-deploy - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-distribution - 9.4.34-SNAPSHOT + 9.4.34.v20201102 zip org.eclipse.jetty jetty-distribution - 9.4.34-SNAPSHOT + 9.4.34.v20201102 tar.gz org.eclipse.jetty.fcgi fcgi-client - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.fcgi fcgi-server - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.gcloud jetty-gcloud-session-manager - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-home - 9.4.34-SNAPSHOT + 9.4.34.v20201102 zip org.eclipse.jetty jetty-home - 9.4.34-SNAPSHOT + 9.4.34.v20201102 tar.gz org.eclipse.jetty jetty-http - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.http2 http2-client - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.http2 http2-common - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.http2 http2-hpack - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.http2 http2-http-client-transport - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.http2 http2-server - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-http-spi - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty infinispan-common - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty infinispan-remote-query - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty infinispan-embedded-query - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-hazelcast - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-io - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-jaas - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-jaspi - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-jmx - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-jndi - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.memcached jetty-memcached-sessions - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-nosql - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.osgi jetty-osgi-boot - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.osgi jetty-osgi-boot-jsp - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.osgi jetty-osgi-boot-warurl - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.osgi jetty-httpservice - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-plus - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-proxy - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-quickstart - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-rewrite - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-security - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-openid - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-server - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-servlet - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-servlets - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-spring - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-unixsocket - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-util - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-util-ajax - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-webapp - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.websocket javax-websocket-client-impl - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.websocket javax-websocket-server-impl - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.websocket websocket-api - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.websocket websocket-client - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.websocket websocket-common - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.websocket websocket-server - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty.websocket websocket-servlet - 9.4.34-SNAPSHOT + 9.4.34.v20201102 org.eclipse.jetty jetty-xml - 9.4.34-SNAPSHOT + 9.4.34.v20201102 diff --git a/jetty-cdi/pom.xml b/jetty-cdi/pom.xml index 35f2f4078ef..eed89d15c94 100644 --- a/jetty-cdi/pom.xml +++ b/jetty-cdi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 org.eclipse.jetty diff --git a/jetty-client/pom.xml b/jetty-client/pom.xml index 6e190e8e79b..8e323733a51 100644 --- a/jetty-client/pom.xml +++ b/jetty-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-continuation/pom.xml b/jetty-continuation/pom.xml index 7e502b143b3..17eafb54b3f 100644 --- a/jetty-continuation/pom.xml +++ b/jetty-continuation/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-continuation diff --git a/jetty-deploy/pom.xml b/jetty-deploy/pom.xml index 60a6d83462c..3ca3fd1ad6f 100644 --- a/jetty-deploy/pom.xml +++ b/jetty-deploy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-deploy diff --git a/jetty-distribution/pom.xml b/jetty-distribution/pom.xml index eedfcd7a258..e37c16044ad 100644 --- a/jetty-distribution/pom.xml +++ b/jetty-distribution/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-distribution diff --git a/jetty-documentation/pom.xml b/jetty-documentation/pom.xml index 6ef6042d217..1ef087c1585 100644 --- a/jetty-documentation/pom.xml +++ b/jetty-documentation/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 jetty-documentation Jetty :: Documentation diff --git a/jetty-fcgi/fcgi-client/pom.xml b/jetty-fcgi/fcgi-client/pom.xml index 943dd6f8aaa..eefac290eb6 100644 --- a/jetty-fcgi/fcgi-client/pom.xml +++ b/jetty-fcgi/fcgi-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-fcgi/fcgi-server/pom.xml b/jetty-fcgi/fcgi-server/pom.xml index ad845f991d4..7ec037f70b0 100644 --- a/jetty-fcgi/fcgi-server/pom.xml +++ b/jetty-fcgi/fcgi-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-fcgi/pom.xml b/jetty-fcgi/pom.xml index a02eba73d9b..c4427462911 100644 --- a/jetty-fcgi/pom.xml +++ b/jetty-fcgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml index 021225cd5b3..c8c54e843e7 100644 --- a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.gcloud gcloud-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-gcloud/pom.xml b/jetty-gcloud/pom.xml index 238eb8edca7..1061ff2eae2 100644 --- a/jetty-gcloud/pom.xml +++ b/jetty-gcloud/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-hazelcast/pom.xml b/jetty-hazelcast/pom.xml index 44714c95c33..94e150f5b96 100644 --- a/jetty-hazelcast/pom.xml +++ b/jetty-hazelcast/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-home/pom.xml b/jetty-home/pom.xml index dc9b3940b63..6267c0047dd 100644 --- a/jetty-home/pom.xml +++ b/jetty-home/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-home diff --git a/jetty-http-spi/pom.xml b/jetty-http-spi/pom.xml index cedb5026ffe..93f906b4cd8 100644 --- a/jetty-http-spi/pom.xml +++ b/jetty-http-spi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-http-spi diff --git a/jetty-http/pom.xml b/jetty-http/pom.xml index 7213a20b658..395c271e0ba 100644 --- a/jetty-http/pom.xml +++ b/jetty-http/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-http diff --git a/jetty-http2/http2-alpn-tests/pom.xml b/jetty-http2/http2-alpn-tests/pom.xml index 3abef984e36..33cebbcade4 100644 --- a/jetty-http2/http2-alpn-tests/pom.xml +++ b/jetty-http2/http2-alpn-tests/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-http2/http2-client/pom.xml b/jetty-http2/http2-client/pom.xml index f9a61861d3c..badb0dddc1f 100644 --- a/jetty-http2/http2-client/pom.xml +++ b/jetty-http2/http2-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-http2/http2-common/pom.xml b/jetty-http2/http2-common/pom.xml index bca19a00272..91ca3bff273 100644 --- a/jetty-http2/http2-common/pom.xml +++ b/jetty-http2/http2-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-http2/http2-hpack/pom.xml b/jetty-http2/http2-hpack/pom.xml index c9e535b5753..1a21f5ba175 100644 --- a/jetty-http2/http2-hpack/pom.xml +++ b/jetty-http2/http2-hpack/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-http2/http2-http-client-transport/pom.xml b/jetty-http2/http2-http-client-transport/pom.xml index 7a115afa2e0..e4b4233bbed 100644 --- a/jetty-http2/http2-http-client-transport/pom.xml +++ b/jetty-http2/http2-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-http2/http2-server/pom.xml b/jetty-http2/http2-server/pom.xml index 4dd62f2dcd0..406a871567c 100644 --- a/jetty-http2/http2-server/pom.xml +++ b/jetty-http2/http2-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-http2/pom.xml b/jetty-http2/pom.xml index bfd9743d5d3..1e4b6841536 100644 --- a/jetty-http2/pom.xml +++ b/jetty-http2/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-infinispan/infinispan-common/pom.xml b/jetty-infinispan/infinispan-common/pom.xml index 5abc71fead1..2c8aec025b6 100644 --- a/jetty-infinispan/infinispan-common/pom.xml +++ b/jetty-infinispan/infinispan-common/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty infinispan-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 infinispan-common diff --git a/jetty-infinispan/infinispan-embedded-query/pom.xml b/jetty-infinispan/infinispan-embedded-query/pom.xml index 569b258e358..fbfea31e741 100644 --- a/jetty-infinispan/infinispan-embedded-query/pom.xml +++ b/jetty-infinispan/infinispan-embedded-query/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty infinispan-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 infinispan-embedded-query diff --git a/jetty-infinispan/infinispan-embedded/pom.xml b/jetty-infinispan/infinispan-embedded/pom.xml index b33669b6d28..15e8f396cbe 100644 --- a/jetty-infinispan/infinispan-embedded/pom.xml +++ b/jetty-infinispan/infinispan-embedded/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty infinispan-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 infinispan-embedded diff --git a/jetty-infinispan/infinispan-remote-query/pom.xml b/jetty-infinispan/infinispan-remote-query/pom.xml index 8c76d5cb9af..ff8a81ffcae 100644 --- a/jetty-infinispan/infinispan-remote-query/pom.xml +++ b/jetty-infinispan/infinispan-remote-query/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty infinispan-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 infinispan-remote-query diff --git a/jetty-infinispan/infinispan-remote/pom.xml b/jetty-infinispan/infinispan-remote/pom.xml index 5f64be1d368..9920c7c7650 100644 --- a/jetty-infinispan/infinispan-remote/pom.xml +++ b/jetty-infinispan/infinispan-remote/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty infinispan-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 infinispan-remote diff --git a/jetty-infinispan/pom.xml b/jetty-infinispan/pom.xml index d70f4798797..349a1bda8e5 100644 --- a/jetty-infinispan/pom.xml +++ b/jetty-infinispan/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-io/pom.xml b/jetty-io/pom.xml index 05c3b919b94..e163e1925cf 100644 --- a/jetty-io/pom.xml +++ b/jetty-io/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-io diff --git a/jetty-jaas/pom.xml b/jetty-jaas/pom.xml index bc47adbe2c3..35c26871a0b 100644 --- a/jetty-jaas/pom.xml +++ b/jetty-jaas/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-jaas diff --git a/jetty-jaspi/pom.xml b/jetty-jaspi/pom.xml index dee2fa03168..b8c028e0b68 100644 --- a/jetty-jaspi/pom.xml +++ b/jetty-jaspi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-jmh/pom.xml b/jetty-jmh/pom.xml index 1d5eaf806b7..ce9c693908e 100644 --- a/jetty-jmh/pom.xml +++ b/jetty-jmh/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-jmx/pom.xml b/jetty-jmx/pom.xml index 15365c97c99..d824ab7b12a 100644 --- a/jetty-jmx/pom.xml +++ b/jetty-jmx/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-jmx diff --git a/jetty-jndi/pom.xml b/jetty-jndi/pom.xml index 574730befaa..e1865c894c0 100644 --- a/jetty-jndi/pom.xml +++ b/jetty-jndi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-jndi diff --git a/jetty-jspc-maven-plugin/pom.xml b/jetty-jspc-maven-plugin/pom.xml index 40ece734ded..68427f51ef1 100644 --- a/jetty-jspc-maven-plugin/pom.xml +++ b/jetty-jspc-maven-plugin/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-jspc-maven-plugin diff --git a/jetty-maven-plugin/pom.xml b/jetty-maven-plugin/pom.xml index 06f970daff6..e62fad09b6a 100644 --- a/jetty-maven-plugin/pom.xml +++ b/jetty-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-maven-plugin diff --git a/jetty-memcached/jetty-memcached-sessions/pom.xml b/jetty-memcached/jetty-memcached-sessions/pom.xml index 9faf06175b9..8bffef807d7 100644 --- a/jetty-memcached/jetty-memcached-sessions/pom.xml +++ b/jetty-memcached/jetty-memcached-sessions/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.memcached memcached-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-memcached/pom.xml b/jetty-memcached/pom.xml index d230706bdbd..f307ceabc61 100644 --- a/jetty-memcached/pom.xml +++ b/jetty-memcached/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-nosql/pom.xml b/jetty-nosql/pom.xml index 75a3f2a89d2..4a340fda4d3 100644 --- a/jetty-nosql/pom.xml +++ b/jetty-nosql/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-nosql diff --git a/jetty-openid/pom.xml b/jetty-openid/pom.xml index 763f663ebe1..be876473aa6 100644 --- a/jetty-openid/pom.xml +++ b/jetty-openid/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-osgi/jetty-osgi-alpn/pom.xml b/jetty-osgi/jetty-osgi-alpn/pom.xml index a3b92eb0df4..b5b0a777fad 100644 --- a/jetty-osgi/jetty-osgi-alpn/pom.xml +++ b/jetty-osgi/jetty-osgi-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-osgi-alpn diff --git a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml index aaf775bc804..5dfe99a62d3 100644 --- a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-osgi-boot-jsp diff --git a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml index 50ecd9a2f5f..7dc89206160 100644 --- a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 ../pom.xml 4.0.0 diff --git a/jetty-osgi/jetty-osgi-boot/pom.xml b/jetty-osgi/jetty-osgi-boot/pom.xml index 02528818ace..379500e56ee 100644 --- a/jetty-osgi/jetty-osgi-boot/pom.xml +++ b/jetty-osgi/jetty-osgi-boot/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-osgi-boot diff --git a/jetty-osgi/jetty-osgi-httpservice/pom.xml b/jetty-osgi/jetty-osgi-httpservice/pom.xml index 40f46b8a7ba..9ed9765e99d 100644 --- a/jetty-osgi/jetty-osgi-httpservice/pom.xml +++ b/jetty-osgi/jetty-osgi-httpservice/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-httpservice diff --git a/jetty-osgi/pom.xml b/jetty-osgi/pom.xml index b394d03db51..451eb4f89f3 100644 --- a/jetty-osgi/pom.xml +++ b/jetty-osgi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi-context/pom.xml b/jetty-osgi/test-jetty-osgi-context/pom.xml index 43b99424d73..1a769c204c6 100644 --- a/jetty-osgi/test-jetty-osgi-context/pom.xml +++ b/jetty-osgi/test-jetty-osgi-context/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 test-jetty-osgi-context diff --git a/jetty-osgi/test-jetty-osgi-fragment/pom.xml b/jetty-osgi/test-jetty-osgi-fragment/pom.xml index e6fa5b55b81..b19641ae905 100644 --- a/jetty-osgi/test-jetty-osgi-fragment/pom.xml +++ b/jetty-osgi/test-jetty-osgi-fragment/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi-server/pom.xml b/jetty-osgi/test-jetty-osgi-server/pom.xml index 7d0de44c235..e8940aaad07 100644 --- a/jetty-osgi/test-jetty-osgi-server/pom.xml +++ b/jetty-osgi/test-jetty-osgi-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 test-jetty-osgi-server diff --git a/jetty-osgi/test-jetty-osgi-webapp-resources/pom.xml b/jetty-osgi/test-jetty-osgi-webapp-resources/pom.xml index 732e51732ea..0beaad07682 100644 --- a/jetty-osgi/test-jetty-osgi-webapp-resources/pom.xml +++ b/jetty-osgi/test-jetty-osgi-webapp-resources/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 test-jetty-osgi-webapp-resources diff --git a/jetty-osgi/test-jetty-osgi-webapp/pom.xml b/jetty-osgi/test-jetty-osgi-webapp/pom.xml index 3a86c3f1a3c..516a2e190a4 100644 --- a/jetty-osgi/test-jetty-osgi-webapp/pom.xml +++ b/jetty-osgi/test-jetty-osgi-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi/pom.xml b/jetty-osgi/test-jetty-osgi/pom.xml index 6552794ddec..a6e510fa167 100644 --- a/jetty-osgi/test-jetty-osgi/pom.xml +++ b/jetty-osgi/test-jetty-osgi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 ../pom.xml 4.0.0 diff --git a/jetty-plus/pom.xml b/jetty-plus/pom.xml index 74d54f4bace..e6fe36d8349 100644 --- a/jetty-plus/pom.xml +++ b/jetty-plus/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-plus diff --git a/jetty-proxy/pom.xml b/jetty-proxy/pom.xml index 5b5996fdacf..e3da8476cf6 100644 --- a/jetty-proxy/pom.xml +++ b/jetty-proxy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-proxy diff --git a/jetty-quickstart/pom.xml b/jetty-quickstart/pom.xml index 1c2a49c39c7..795b30e96c8 100644 --- a/jetty-quickstart/pom.xml +++ b/jetty-quickstart/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 org.eclipse.jetty diff --git a/jetty-rewrite/pom.xml b/jetty-rewrite/pom.xml index 56997d1ad4f..3a591e0c129 100644 --- a/jetty-rewrite/pom.xml +++ b/jetty-rewrite/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-rewrite diff --git a/jetty-runner/pom.xml b/jetty-runner/pom.xml index abc4fa523b2..77740bbf714 100644 --- a/jetty-runner/pom.xml +++ b/jetty-runner/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-runner diff --git a/jetty-security/pom.xml b/jetty-security/pom.xml index a4a619982f7..b94c1dbeafc 100644 --- a/jetty-security/pom.xml +++ b/jetty-security/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-security diff --git a/jetty-server/pom.xml b/jetty-server/pom.xml index 4e58f516a95..c5712a12b18 100644 --- a/jetty-server/pom.xml +++ b/jetty-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-server diff --git a/jetty-servlet/pom.xml b/jetty-servlet/pom.xml index 4d6dd0df7df..d7384f8acc6 100644 --- a/jetty-servlet/pom.xml +++ b/jetty-servlet/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-servlet diff --git a/jetty-servlets/pom.xml b/jetty-servlets/pom.xml index d5eb6cda20f..42fe102c930 100644 --- a/jetty-servlets/pom.xml +++ b/jetty-servlets/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-servlets diff --git a/jetty-spring/pom.xml b/jetty-spring/pom.xml index b292f1d60f5..4dad16313b5 100644 --- a/jetty-spring/pom.xml +++ b/jetty-spring/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-spring diff --git a/jetty-start/pom.xml b/jetty-start/pom.xml index faed9c6b443..6dad94c3071 100644 --- a/jetty-start/pom.xml +++ b/jetty-start/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-start diff --git a/jetty-unixsocket/pom.xml b/jetty-unixsocket/pom.xml index 97418cb7e69..3fe186bd594 100644 --- a/jetty-unixsocket/pom.xml +++ b/jetty-unixsocket/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-unixsocket diff --git a/jetty-util-ajax/pom.xml b/jetty-util-ajax/pom.xml index b082beb79fb..941cb8b11b6 100644 --- a/jetty-util-ajax/pom.xml +++ b/jetty-util-ajax/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-util-ajax diff --git a/jetty-util/pom.xml b/jetty-util/pom.xml index dc65f9f7ebf..067a511d269 100644 --- a/jetty-util/pom.xml +++ b/jetty-util/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-util diff --git a/jetty-webapp/pom.xml b/jetty-webapp/pom.xml index 8154b7ee84c..a5c8b7483f9 100644 --- a/jetty-webapp/pom.xml +++ b/jetty-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-webapp diff --git a/jetty-websocket/javax-websocket-client-impl/pom.xml b/jetty-websocket/javax-websocket-client-impl/pom.xml index 43a38067e8b..79f51febade 100644 --- a/jetty-websocket/javax-websocket-client-impl/pom.xml +++ b/jetty-websocket/javax-websocket-client-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-websocket/javax-websocket-server-impl/pom.xml b/jetty-websocket/javax-websocket-server-impl/pom.xml index b037bbd1f5a..6fc199c0736 100644 --- a/jetty-websocket/javax-websocket-server-impl/pom.xml +++ b/jetty-websocket/javax-websocket-server-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-websocket/jetty-websocket-tests/pom.xml b/jetty-websocket/jetty-websocket-tests/pom.xml index e25f47d4ef7..be5ea05925b 100644 --- a/jetty-websocket/jetty-websocket-tests/pom.xml +++ b/jetty-websocket/jetty-websocket-tests/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-websocket/pom.xml b/jetty-websocket/pom.xml index 25af902913c..d0dddfdaaa5 100644 --- a/jetty-websocket/pom.xml +++ b/jetty-websocket/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-websocket/websocket-api/pom.xml b/jetty-websocket/websocket-api/pom.xml index e8a7b49e72f..c2d98aa17f0 100644 --- a/jetty-websocket/websocket-api/pom.xml +++ b/jetty-websocket/websocket-api/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-websocket/websocket-client/pom.xml b/jetty-websocket/websocket-client/pom.xml index 031f3a509b9..b775407fde7 100644 --- a/jetty-websocket/websocket-client/pom.xml +++ b/jetty-websocket/websocket-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-websocket/websocket-common/pom.xml b/jetty-websocket/websocket-common/pom.xml index e3d7b715658..fdcea95dbfb 100644 --- a/jetty-websocket/websocket-common/pom.xml +++ b/jetty-websocket/websocket-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-websocket/websocket-server/pom.xml b/jetty-websocket/websocket-server/pom.xml index 678c199e54d..433dc315f52 100644 --- a/jetty-websocket/websocket-server/pom.xml +++ b/jetty-websocket/websocket-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml index ea7bbe4f119..00458d8df52 100644 --- a/jetty-websocket/websocket-servlet/pom.xml +++ b/jetty-websocket/websocket-servlet/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/jetty-xml/pom.xml b/jetty-xml/pom.xml index ea6e9ee8538..efbbf37c2b5 100644 --- a/jetty-xml/pom.xml +++ b/jetty-xml/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jetty-xml diff --git a/pom.xml b/pom.xml index 73d1ccd5b88..c4dd144087d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 Jetty :: Project The Eclipse Jetty Project pom diff --git a/tests/pom.xml b/tests/pom.xml index 5a9593494a5..f66a70a9e42 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.34-SNAPSHOT + 9.4.34.v20201102 ../pom.xml org.eclipse.jetty.tests diff --git a/tests/test-continuation/pom.xml b/tests/test-continuation/pom.xml index 64af455e280..20563ea361a 100644 --- a/tests/test-continuation/pom.xml +++ b/tests/test-continuation/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 ../pom.xml 4.0.0 diff --git a/tests/test-distribution/pom.xml b/tests/test-distribution/pom.xml index 76326d54c86..edaf5375eb0 100644 --- a/tests/test-distribution/pom.xml +++ b/tests/test-distribution/pom.xml @@ -2,7 +2,7 @@ tests-parent org.eclipse.jetty.tests - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/tests/test-http-client-transport/pom.xml b/tests/test-http-client-transport/pom.xml index b3020edbbc0..9d3b33de021 100644 --- a/tests/test-http-client-transport/pom.xml +++ b/tests/test-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml index 8365326f36b..ed3606aabf9 100644 --- a/tests/test-integration/pom.xml +++ b/tests/test-integration/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 test-integration diff --git a/tests/test-jmx/jmx-webapp-it/pom.xml b/tests/test-jmx/jmx-webapp-it/pom.xml index cdf9b3f44a5..c9d4fe4614f 100644 --- a/tests/test-jmx/jmx-webapp-it/pom.xml +++ b/tests/test-jmx/jmx-webapp-it/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 jmx-webapp-it diff --git a/tests/test-jmx/jmx-webapp/pom.xml b/tests/test-jmx/jmx-webapp/pom.xml index 57d8efbe003..f83ed45486d 100644 --- a/tests/test-jmx/jmx-webapp/pom.xml +++ b/tests/test-jmx/jmx-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 jmx-webapp war diff --git a/tests/test-jmx/pom.xml b/tests/test-jmx/pom.xml index 736e848987a..1d8d5a9a0b6 100644 --- a/tests/test-jmx/pom.xml +++ b/tests/test-jmx/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 test-jmx-parent diff --git a/tests/test-loginservice/pom.xml b/tests/test-loginservice/pom.xml index 021ba05eb73..c64abdfcc8d 100644 --- a/tests/test-loginservice/pom.xml +++ b/tests/test-loginservice/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-loginservice Jetty Tests :: Login Service diff --git a/tests/test-quickstart/pom.xml b/tests/test-quickstart/pom.xml index db4c32b37f7..df7aa100881 100644 --- a/tests/test-quickstart/pom.xml +++ b/tests/test-quickstart/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 ../pom.xml 4.0.0 diff --git a/tests/test-sessions/pom.xml b/tests/test-sessions/pom.xml index 227ca989049..93d9081b527 100644 --- a/tests/test-sessions/pom.xml +++ b/tests/test-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-sessions-parent Jetty Tests :: Sessions :: Parent diff --git a/tests/test-sessions/test-file-sessions/pom.xml b/tests/test-sessions/test-file-sessions/pom.xml index 2164a3ab542..0736a17d041 100644 --- a/tests/test-sessions/test-file-sessions/pom.xml +++ b/tests/test-sessions/test-file-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-file-sessions Jetty Tests :: Sessions :: File diff --git a/tests/test-sessions/test-gcloud-sessions/pom.xml b/tests/test-sessions/test-gcloud-sessions/pom.xml index bce88380e4e..b903f7b9f54 100644 --- a/tests/test-sessions/test-gcloud-sessions/pom.xml +++ b/tests/test-sessions/test-gcloud-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-gcloud-sessions Jetty Tests :: Sessions :: GCloud diff --git a/tests/test-sessions/test-hazelcast-sessions/pom.xml b/tests/test-sessions/test-hazelcast-sessions/pom.xml index c6da70f57af..c654fc867ca 100644 --- a/tests/test-sessions/test-hazelcast-sessions/pom.xml +++ b/tests/test-sessions/test-hazelcast-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-hazelcast-sessions Jetty Tests :: Sessions :: Hazelcast diff --git a/tests/test-sessions/test-infinispan-sessions/pom.xml b/tests/test-sessions/test-infinispan-sessions/pom.xml index a76f441b583..62d62738f0e 100644 --- a/tests/test-sessions/test-infinispan-sessions/pom.xml +++ b/tests/test-sessions/test-infinispan-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-infinispan-sessions Jetty Tests :: Sessions :: Infinispan diff --git a/tests/test-sessions/test-jdbc-sessions/pom.xml b/tests/test-sessions/test-jdbc-sessions/pom.xml index d38ef82fb85..44dd4df2cfd 100644 --- a/tests/test-sessions/test-jdbc-sessions/pom.xml +++ b/tests/test-sessions/test-jdbc-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-jdbc-sessions Jetty Tests :: Sessions :: JDBC diff --git a/tests/test-sessions/test-memcached-sessions/pom.xml b/tests/test-sessions/test-memcached-sessions/pom.xml index 668e4f5cc93..6db4e58ffba 100644 --- a/tests/test-sessions/test-memcached-sessions/pom.xml +++ b/tests/test-sessions/test-memcached-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-memcached-sessions Jetty Tests :: Sessions :: Memcached diff --git a/tests/test-sessions/test-mongodb-sessions/pom.xml b/tests/test-sessions/test-mongodb-sessions/pom.xml index 793eb26875b..8049c252c32 100644 --- a/tests/test-sessions/test-mongodb-sessions/pom.xml +++ b/tests/test-sessions/test-mongodb-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-mongodb-sessions Jetty Tests :: Sessions :: Mongo diff --git a/tests/test-sessions/test-sessions-common/pom.xml b/tests/test-sessions/test-sessions-common/pom.xml index 36b1adae281..74326c85abe 100644 --- a/tests/test-sessions/test-sessions-common/pom.xml +++ b/tests/test-sessions/test-sessions-common/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-sessions-common Jetty Tests :: Sessions :: Common diff --git a/tests/test-webapps/pom.xml b/tests/test-webapps/pom.xml index 69c4014557f..106eb671d80 100644 --- a/tests/test-webapps/pom.xml +++ b/tests/test-webapps/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 ../pom.xml test-webapps-parent diff --git a/tests/test-webapps/test-cdi-common-webapp/pom.xml b/tests/test-webapps/test-cdi-common-webapp/pom.xml index 922b6ada194..2d7f8134d1a 100644 --- a/tests/test-webapps/test-cdi-common-webapp/pom.xml +++ b/tests/test-webapps/test-cdi-common-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/tests/test-webapps/test-felix-webapp/pom.xml b/tests/test-webapps/test-felix-webapp/pom.xml index 394bfbf8c8b..a394c2335cd 100644 --- a/tests/test-webapps/test-felix-webapp/pom.xml +++ b/tests/test-webapps/test-felix-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/tests/test-webapps/test-http2-webapp/pom.xml b/tests/test-webapps/test-http2-webapp/pom.xml index 102fb0f39ec..101f1052319 100644 --- a/tests/test-webapps/test-http2-webapp/pom.xml +++ b/tests/test-webapps/test-http2-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/tests/test-webapps/test-jaas-webapp/pom.xml b/tests/test-webapps/test-jaas-webapp/pom.xml index b0a5026f07d..b483e6b4d97 100644 --- a/tests/test-webapps/test-jaas-webapp/pom.xml +++ b/tests/test-webapps/test-jaas-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-jaas-webapp Jetty Tests :: WebApp :: JAAS diff --git a/tests/test-webapps/test-jetty-webapp/pom.xml b/tests/test-webapps/test-jetty-webapp/pom.xml index 1c320f8adb6..197396e0c66 100644 --- a/tests/test-webapps/test-jetty-webapp/pom.xml +++ b/tests/test-webapps/test-jetty-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-jndi-webapp/pom.xml b/tests/test-webapps/test-jndi-webapp/pom.xml index 0d30fe3028e..6c8a4f35e2b 100644 --- a/tests/test-webapps/test-jndi-webapp/pom.xml +++ b/tests/test-webapps/test-jndi-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-jndi-webapp Jetty Tests :: WebApp :: JNDI diff --git a/tests/test-webapps/test-mock-resources/pom.xml b/tests/test-webapps/test-mock-resources/pom.xml index a9d666689fa..258c470c203 100644 --- a/tests/test-webapps/test-mock-resources/pom.xml +++ b/tests/test-webapps/test-mock-resources/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 Jetty Tests :: WebApp :: Mock Resources test-mock-resources diff --git a/tests/test-webapps/test-owb-cdi-webapp/pom.xml b/tests/test-webapps/test-owb-cdi-webapp/pom.xml index 2f796578ab7..030b56c5883 100644 --- a/tests/test-webapps/test-owb-cdi-webapp/pom.xml +++ b/tests/test-webapps/test-owb-cdi-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/tests/test-webapps/test-proxy-webapp/pom.xml b/tests/test-webapps/test-proxy-webapp/pom.xml index 7c434eb60a0..5800c5ad830 100644 --- a/tests/test-webapps/test-proxy-webapp/pom.xml +++ b/tests/test-webapps/test-proxy-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-servlet-spec/pom.xml b/tests/test-webapps/test-servlet-spec/pom.xml index 69857dcb9d7..54739c314b2 100644 --- a/tests/test-webapps/test-servlet-spec/pom.xml +++ b/tests/test-webapps/test-servlet-spec/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-servlet-spec-parent Jetty Tests :: Spec Test WebApp :: Parent diff --git a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml index 97118c437ee..a3655acfe28 100644 --- a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-container-initializer jar diff --git a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml index b0f04aa29e1..8acd6d42edc 100644 --- a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 Jetty Tests :: Webapps :: Spec Webapp test-spec-webapp diff --git a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml index cc8bfc47d5d..e95534d0df5 100644 --- a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 Jetty Tests :: WebApp :: Servlet Spec :: Fragment Jar diff --git a/tests/test-webapps/test-simple-webapp/pom.xml b/tests/test-webapps/test-simple-webapp/pom.xml index ba7d13d5820..7e5c3b93ae5 100644 --- a/tests/test-webapps/test-simple-webapp/pom.xml +++ b/tests/test-webapps/test-simple-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-simple-webapp diff --git a/tests/test-webapps/test-webapp-rfc2616/pom.xml b/tests/test-webapps/test-webapp-rfc2616/pom.xml index 3f84697ad40..7abc2755ce9 100644 --- a/tests/test-webapps/test-webapp-rfc2616/pom.xml +++ b/tests/test-webapps/test-webapp-rfc2616/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 test-webapp-rfc2616 Jetty Tests :: WebApp :: RFC2616 diff --git a/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml b/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml index 9f57388e81e..b7c6ad7a106 100644 --- a/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml +++ b/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/tests/test-webapps/test-websocket-client-webapp/pom.xml b/tests/test-webapps/test-websocket-client-webapp/pom.xml index d4e41a770ec..1962337b764 100644 --- a/tests/test-webapps/test-websocket-client-webapp/pom.xml +++ b/tests/test-webapps/test-websocket-client-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 diff --git a/tests/test-webapps/test-weld-cdi-webapp/pom.xml b/tests/test-webapps/test-weld-cdi-webapp/pom.xml index a72ad4b0d17..7ddacf0d0bb 100644 --- a/tests/test-webapps/test-weld-cdi-webapp/pom.xml +++ b/tests/test-webapps/test-weld-cdi-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34-SNAPSHOT + 9.4.34.v20201102 4.0.0 From edaadff55b5ba884272c622ce659ca0ec72b5431 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Mon, 2 Nov 2020 09:04:51 -0600 Subject: [PATCH 33/38] Updating to version 9.4.35-SNAPSHOT --- VERSION.txt | 2 + aggregates/jetty-all-compact3/pom.xml | 2 +- aggregates/jetty-all/pom.xml | 2 +- apache-jsp/pom.xml | 2 +- apache-jstl/pom.xml | 2 +- build-resources/pom.xml | 2 +- examples/async-rest/async-rest-jar/pom.xml | 2 +- examples/async-rest/async-rest-webapp/pom.xml | 2 +- examples/async-rest/pom.xml | 2 +- examples/embedded/pom.xml | 2 +- examples/pom.xml | 2 +- jetty-alpn/jetty-alpn-client/pom.xml | 2 +- .../jetty-alpn-conscrypt-client/pom.xml | 2 +- .../jetty-alpn-conscrypt-server/pom.xml | 2 +- jetty-alpn/jetty-alpn-java-client/pom.xml | 2 +- jetty-alpn/jetty-alpn-java-server/pom.xml | 2 +- jetty-alpn/jetty-alpn-openjdk8-client/pom.xml | 2 +- jetty-alpn/jetty-alpn-openjdk8-server/pom.xml | 2 +- jetty-alpn/jetty-alpn-server/pom.xml | 2 +- jetty-alpn/pom.xml | 2 +- jetty-annotations/pom.xml | 2 +- jetty-ant/pom.xml | 2 +- jetty-bom/pom.xml | 134 +++++++++--------- jetty-cdi/pom.xml | 2 +- jetty-client/pom.xml | 2 +- jetty-continuation/pom.xml | 2 +- jetty-deploy/pom.xml | 2 +- jetty-distribution/pom.xml | 2 +- jetty-documentation/pom.xml | 2 +- jetty-fcgi/fcgi-client/pom.xml | 2 +- jetty-fcgi/fcgi-server/pom.xml | 2 +- jetty-fcgi/pom.xml | 2 +- .../jetty-gcloud-session-manager/pom.xml | 2 +- jetty-gcloud/pom.xml | 2 +- jetty-hazelcast/pom.xml | 2 +- jetty-home/pom.xml | 2 +- jetty-http-spi/pom.xml | 2 +- jetty-http/pom.xml | 2 +- jetty-http2/http2-alpn-tests/pom.xml | 2 +- jetty-http2/http2-client/pom.xml | 2 +- jetty-http2/http2-common/pom.xml | 2 +- jetty-http2/http2-hpack/pom.xml | 2 +- .../http2-http-client-transport/pom.xml | 2 +- jetty-http2/http2-server/pom.xml | 2 +- jetty-http2/pom.xml | 2 +- jetty-infinispan/infinispan-common/pom.xml | 2 +- .../infinispan-embedded-query/pom.xml | 2 +- jetty-infinispan/infinispan-embedded/pom.xml | 2 +- .../infinispan-remote-query/pom.xml | 2 +- jetty-infinispan/infinispan-remote/pom.xml | 2 +- jetty-infinispan/pom.xml | 2 +- jetty-io/pom.xml | 2 +- jetty-jaas/pom.xml | 2 +- jetty-jaspi/pom.xml | 2 +- jetty-jmh/pom.xml | 2 +- jetty-jmx/pom.xml | 2 +- jetty-jndi/pom.xml | 2 +- jetty-jspc-maven-plugin/pom.xml | 2 +- jetty-maven-plugin/pom.xml | 2 +- .../jetty-memcached-sessions/pom.xml | 2 +- jetty-memcached/pom.xml | 2 +- jetty-nosql/pom.xml | 2 +- jetty-openid/pom.xml | 2 +- jetty-osgi/jetty-osgi-alpn/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-jsp/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot-warurl/pom.xml | 2 +- jetty-osgi/jetty-osgi-boot/pom.xml | 2 +- jetty-osgi/jetty-osgi-httpservice/pom.xml | 2 +- jetty-osgi/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-context/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-fragment/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-server/pom.xml | 2 +- .../test-jetty-osgi-webapp-resources/pom.xml | 2 +- jetty-osgi/test-jetty-osgi-webapp/pom.xml | 2 +- jetty-osgi/test-jetty-osgi/pom.xml | 2 +- jetty-plus/pom.xml | 2 +- jetty-proxy/pom.xml | 2 +- jetty-quickstart/pom.xml | 2 +- jetty-rewrite/pom.xml | 2 +- jetty-runner/pom.xml | 2 +- jetty-security/pom.xml | 2 +- jetty-server/pom.xml | 2 +- jetty-servlet/pom.xml | 2 +- jetty-servlets/pom.xml | 2 +- jetty-spring/pom.xml | 2 +- jetty-start/pom.xml | 2 +- jetty-unixsocket/pom.xml | 2 +- jetty-util-ajax/pom.xml | 2 +- jetty-util/pom.xml | 2 +- jetty-webapp/pom.xml | 2 +- .../javax-websocket-client-impl/pom.xml | 2 +- .../javax-websocket-server-impl/pom.xml | 2 +- jetty-websocket/jetty-websocket-tests/pom.xml | 2 +- jetty-websocket/pom.xml | 2 +- jetty-websocket/websocket-api/pom.xml | 2 +- jetty-websocket/websocket-client/pom.xml | 2 +- jetty-websocket/websocket-common/pom.xml | 2 +- jetty-websocket/websocket-server/pom.xml | 2 +- jetty-websocket/websocket-servlet/pom.xml | 2 +- jetty-xml/pom.xml | 2 +- pom.xml | 2 +- tests/pom.xml | 2 +- tests/test-continuation/pom.xml | 2 +- tests/test-distribution/pom.xml | 2 +- tests/test-http-client-transport/pom.xml | 2 +- tests/test-integration/pom.xml | 2 +- tests/test-jmx/jmx-webapp-it/pom.xml | 2 +- tests/test-jmx/jmx-webapp/pom.xml | 2 +- tests/test-jmx/pom.xml | 2 +- tests/test-loginservice/pom.xml | 2 +- tests/test-quickstart/pom.xml | 2 +- tests/test-sessions/pom.xml | 2 +- .../test-sessions/test-file-sessions/pom.xml | 2 +- .../test-gcloud-sessions/pom.xml | 2 +- .../test-hazelcast-sessions/pom.xml | 2 +- .../test-infinispan-sessions/pom.xml | 2 +- .../test-sessions/test-jdbc-sessions/pom.xml | 2 +- .../test-memcached-sessions/pom.xml | 2 +- .../test-mongodb-sessions/pom.xml | 2 +- .../test-sessions-common/pom.xml | 2 +- tests/test-webapps/pom.xml | 2 +- .../test-cdi-common-webapp/pom.xml | 2 +- tests/test-webapps/test-felix-webapp/pom.xml | 2 +- tests/test-webapps/test-http2-webapp/pom.xml | 2 +- tests/test-webapps/test-jaas-webapp/pom.xml | 2 +- tests/test-webapps/test-jetty-webapp/pom.xml | 2 +- tests/test-webapps/test-jndi-webapp/pom.xml | 2 +- .../test-webapps/test-mock-resources/pom.xml | 2 +- .../test-webapps/test-owb-cdi-webapp/pom.xml | 2 +- tests/test-webapps/test-proxy-webapp/pom.xml | 2 +- tests/test-webapps/test-servlet-spec/pom.xml | 2 +- .../test-container-initializer/pom.xml | 2 +- .../test-spec-webapp/pom.xml | 2 +- .../test-web-fragment/pom.xml | 2 +- tests/test-webapps/test-simple-webapp/pom.xml | 2 +- .../test-webapps/test-webapp-rfc2616/pom.xml | 2 +- .../pom.xml | 2 +- .../test-websocket-client-webapp/pom.xml | 2 +- .../test-webapps/test-weld-cdi-webapp/pom.xml | 2 +- 139 files changed, 206 insertions(+), 204 deletions(-) diff --git a/VERSION.txt b/VERSION.txt index b616a9a89ec..6e5594947fd 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1,3 +1,5 @@ +jetty-9.4.35-SNAPSHOT + jetty-9.4.34.v20201102 - 02 November 2020 + 5320 Using WebSocketClient with jetty-websocket-httpclient.xml in a Jetty web application causes ClassCastException diff --git a/aggregates/jetty-all-compact3/pom.xml b/aggregates/jetty-all-compact3/pom.xml index 8220204de21..8f7a3e9d725 100644 --- a/aggregates/jetty-all-compact3/pom.xml +++ b/aggregates/jetty-all-compact3/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/aggregates/jetty-all/pom.xml b/aggregates/jetty-all/pom.xml index 4ea53b077a4..dc1c09c011b 100644 --- a/aggregates/jetty-all/pom.xml +++ b/aggregates/jetty-all/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index f0c948c8609..b96ca00c47c 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 apache-jsp diff --git a/apache-jstl/pom.xml b/apache-jstl/pom.xml index 8326711ad5b..8aea2af5252 100644 --- a/apache-jstl/pom.xml +++ b/apache-jstl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 apache-jstl diff --git a/build-resources/pom.xml b/build-resources/pom.xml index bc516653a03..c310358282b 100644 --- a/build-resources/pom.xml +++ b/build-resources/pom.xml @@ -2,7 +2,7 @@ 4.0.0 org.eclipse.jetty build-resources - 9.4.34.v20201102 + 9.4.35-SNAPSHOT jar Jetty :: Build Resources diff --git a/examples/async-rest/async-rest-jar/pom.xml b/examples/async-rest/async-rest-jar/pom.xml index 215bd7f1055..bf36e23152d 100644 --- a/examples/async-rest/async-rest-jar/pom.xml +++ b/examples/async-rest/async-rest-jar/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/examples/async-rest/async-rest-webapp/pom.xml b/examples/async-rest/async-rest-webapp/pom.xml index 9e4568f19b0..d23c5ec61a5 100644 --- a/examples/async-rest/async-rest-webapp/pom.xml +++ b/examples/async-rest/async-rest-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/examples/async-rest/pom.xml b/examples/async-rest/pom.xml index 1cc07209b7f..f7851b7e1a3 100644 --- a/examples/async-rest/pom.xml +++ b/examples/async-rest/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/examples/embedded/pom.xml b/examples/embedded/pom.xml index 623cd669d3b..f0040539f81 100644 --- a/examples/embedded/pom.xml +++ b/examples/embedded/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT ../pom.xml 4.0.0 diff --git a/examples/pom.xml b/examples/pom.xml index da6bd76972c..20b01606aea 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-alpn/jetty-alpn-client/pom.xml b/jetty-alpn/jetty-alpn-client/pom.xml index 182b11be917..fe779ebee0a 100644 --- a/jetty-alpn/jetty-alpn-client/pom.xml +++ b/jetty-alpn/jetty-alpn-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-alpn-client diff --git a/jetty-alpn/jetty-alpn-conscrypt-client/pom.xml b/jetty-alpn/jetty-alpn-conscrypt-client/pom.xml index d970721525b..86edf9a28a8 100644 --- a/jetty-alpn/jetty-alpn-conscrypt-client/pom.xml +++ b/jetty-alpn/jetty-alpn-conscrypt-client/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-alpn/jetty-alpn-conscrypt-server/pom.xml b/jetty-alpn/jetty-alpn-conscrypt-server/pom.xml index f141fb5296f..40b0ba47688 100644 --- a/jetty-alpn/jetty-alpn-conscrypt-server/pom.xml +++ b/jetty-alpn/jetty-alpn-conscrypt-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-alpn/jetty-alpn-java-client/pom.xml b/jetty-alpn/jetty-alpn-java-client/pom.xml index 671287e7c15..4af11b0c1d7 100644 --- a/jetty-alpn/jetty-alpn-java-client/pom.xml +++ b/jetty-alpn/jetty-alpn-java-client/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-alpn/jetty-alpn-java-server/pom.xml b/jetty-alpn/jetty-alpn-java-server/pom.xml index 580cef0929e..c588a705e9d 100644 --- a/jetty-alpn/jetty-alpn-java-server/pom.xml +++ b/jetty-alpn/jetty-alpn-java-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-alpn/jetty-alpn-openjdk8-client/pom.xml b/jetty-alpn/jetty-alpn-openjdk8-client/pom.xml index 9406aa37f9f..36e5fc83061 100644 --- a/jetty-alpn/jetty-alpn-openjdk8-client/pom.xml +++ b/jetty-alpn/jetty-alpn-openjdk8-client/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-alpn/jetty-alpn-openjdk8-server/pom.xml b/jetty-alpn/jetty-alpn-openjdk8-server/pom.xml index 7b1c5e680de..e19fcd35f96 100644 --- a/jetty-alpn/jetty-alpn-openjdk8-server/pom.xml +++ b/jetty-alpn/jetty-alpn-openjdk8-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-alpn/jetty-alpn-server/pom.xml b/jetty-alpn/jetty-alpn-server/pom.xml index 2f387f701f1..ea6d3cc3126 100644 --- a/jetty-alpn/jetty-alpn-server/pom.xml +++ b/jetty-alpn/jetty-alpn-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-alpn-server diff --git a/jetty-alpn/pom.xml b/jetty-alpn/pom.xml index 04fc37fa8ca..45eaef69070 100644 --- a/jetty-alpn/pom.xml +++ b/jetty-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-alpn-parent diff --git a/jetty-annotations/pom.xml b/jetty-annotations/pom.xml index 82bffad63f1..d0d335f9fc5 100644 --- a/jetty-annotations/pom.xml +++ b/jetty-annotations/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-annotations diff --git a/jetty-ant/pom.xml b/jetty-ant/pom.xml index a9536884966..210099d1ef1 100644 --- a/jetty-ant/pom.xml +++ b/jetty-ant/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-ant diff --git a/jetty-bom/pom.xml b/jetty-bom/pom.xml index 20e2fcba358..1715e8f3fd2 100644 --- a/jetty-bom/pom.xml +++ b/jetty-bom/pom.xml @@ -9,7 +9,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT @@ -53,336 +53,336 @@ org.eclipse.jetty apache-jsp - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty apache-jstl - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-alpn-client - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-alpn-java-client - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-alpn-java-server - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-alpn-openjdk8-client - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-alpn-openjdk8-server - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-alpn-conscrypt-client - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-alpn-conscrypt-server - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-alpn-server - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-annotations - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-ant - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-client - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-continuation - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-deploy - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-distribution - 9.4.34.v20201102 + 9.4.35-SNAPSHOT zip org.eclipse.jetty jetty-distribution - 9.4.34.v20201102 + 9.4.35-SNAPSHOT tar.gz org.eclipse.jetty.fcgi fcgi-client - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.fcgi fcgi-server - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.gcloud jetty-gcloud-session-manager - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-home - 9.4.34.v20201102 + 9.4.35-SNAPSHOT zip org.eclipse.jetty jetty-home - 9.4.34.v20201102 + 9.4.35-SNAPSHOT tar.gz org.eclipse.jetty jetty-http - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.http2 http2-client - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.http2 http2-common - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.http2 http2-hpack - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.http2 http2-http-client-transport - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.http2 http2-server - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-http-spi - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty infinispan-common - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty infinispan-remote-query - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty infinispan-embedded-query - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-hazelcast - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-io - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-jaas - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-jaspi - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-jmx - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-jndi - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.memcached jetty-memcached-sessions - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-nosql - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.osgi jetty-osgi-boot - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.osgi jetty-osgi-boot-jsp - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.osgi jetty-osgi-boot-warurl - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.osgi jetty-httpservice - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-plus - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-proxy - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-quickstart - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-rewrite - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-security - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-openid - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-server - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-servlet - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-servlets - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-spring - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-unixsocket - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-util - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-util-ajax - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-webapp - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.websocket javax-websocket-client-impl - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.websocket javax-websocket-server-impl - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.websocket websocket-api - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.websocket websocket-client - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.websocket websocket-common - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.websocket websocket-server - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty.websocket websocket-servlet - 9.4.34.v20201102 + 9.4.35-SNAPSHOT org.eclipse.jetty jetty-xml - 9.4.34.v20201102 + 9.4.35-SNAPSHOT diff --git a/jetty-cdi/pom.xml b/jetty-cdi/pom.xml index eed89d15c94..9cd215d9bda 100644 --- a/jetty-cdi/pom.xml +++ b/jetty-cdi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 org.eclipse.jetty diff --git a/jetty-client/pom.xml b/jetty-client/pom.xml index 8e323733a51..e11a6e2c6b2 100644 --- a/jetty-client/pom.xml +++ b/jetty-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-continuation/pom.xml b/jetty-continuation/pom.xml index 17eafb54b3f..f004890a149 100644 --- a/jetty-continuation/pom.xml +++ b/jetty-continuation/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-continuation diff --git a/jetty-deploy/pom.xml b/jetty-deploy/pom.xml index 3ca3fd1ad6f..42defc19f98 100644 --- a/jetty-deploy/pom.xml +++ b/jetty-deploy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-deploy diff --git a/jetty-distribution/pom.xml b/jetty-distribution/pom.xml index e37c16044ad..c05f9996251 100644 --- a/jetty-distribution/pom.xml +++ b/jetty-distribution/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-distribution diff --git a/jetty-documentation/pom.xml b/jetty-documentation/pom.xml index 1ef087c1585..69af45cad11 100644 --- a/jetty-documentation/pom.xml +++ b/jetty-documentation/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT jetty-documentation Jetty :: Documentation diff --git a/jetty-fcgi/fcgi-client/pom.xml b/jetty-fcgi/fcgi-client/pom.xml index eefac290eb6..98e02b7284b 100644 --- a/jetty-fcgi/fcgi-client/pom.xml +++ b/jetty-fcgi/fcgi-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-fcgi/fcgi-server/pom.xml b/jetty-fcgi/fcgi-server/pom.xml index 7ec037f70b0..ee9dfc22827 100644 --- a/jetty-fcgi/fcgi-server/pom.xml +++ b/jetty-fcgi/fcgi-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-fcgi/pom.xml b/jetty-fcgi/pom.xml index c4427462911..73b504ff749 100644 --- a/jetty-fcgi/pom.xml +++ b/jetty-fcgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml index c8c54e843e7..fd470b725ee 100644 --- a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.gcloud gcloud-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-gcloud/pom.xml b/jetty-gcloud/pom.xml index 1061ff2eae2..fb45d489a03 100644 --- a/jetty-gcloud/pom.xml +++ b/jetty-gcloud/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-hazelcast/pom.xml b/jetty-hazelcast/pom.xml index 94e150f5b96..038e94f23d6 100644 --- a/jetty-hazelcast/pom.xml +++ b/jetty-hazelcast/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-home/pom.xml b/jetty-home/pom.xml index 6267c0047dd..cff85999334 100644 --- a/jetty-home/pom.xml +++ b/jetty-home/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-home diff --git a/jetty-http-spi/pom.xml b/jetty-http-spi/pom.xml index 93f906b4cd8..abf2a2bf306 100644 --- a/jetty-http-spi/pom.xml +++ b/jetty-http-spi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-http-spi diff --git a/jetty-http/pom.xml b/jetty-http/pom.xml index 395c271e0ba..870ac2e6a38 100644 --- a/jetty-http/pom.xml +++ b/jetty-http/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-http diff --git a/jetty-http2/http2-alpn-tests/pom.xml b/jetty-http2/http2-alpn-tests/pom.xml index 33cebbcade4..d56dae3c83f 100644 --- a/jetty-http2/http2-alpn-tests/pom.xml +++ b/jetty-http2/http2-alpn-tests/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-client/pom.xml b/jetty-http2/http2-client/pom.xml index badb0dddc1f..56d7ef0fe9d 100644 --- a/jetty-http2/http2-client/pom.xml +++ b/jetty-http2/http2-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-common/pom.xml b/jetty-http2/http2-common/pom.xml index 91ca3bff273..96e5cd39173 100644 --- a/jetty-http2/http2-common/pom.xml +++ b/jetty-http2/http2-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-hpack/pom.xml b/jetty-http2/http2-hpack/pom.xml index 1a21f5ba175..c53a31b8e8a 100644 --- a/jetty-http2/http2-hpack/pom.xml +++ b/jetty-http2/http2-hpack/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-http-client-transport/pom.xml b/jetty-http2/http2-http-client-transport/pom.xml index e4b4233bbed..490cf39557a 100644 --- a/jetty-http2/http2-http-client-transport/pom.xml +++ b/jetty-http2/http2-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-server/pom.xml b/jetty-http2/http2-server/pom.xml index 406a871567c..3d5f9df12d1 100644 --- a/jetty-http2/http2-server/pom.xml +++ b/jetty-http2/http2-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-http2/pom.xml b/jetty-http2/pom.xml index 1e4b6841536..f62f8b34043 100644 --- a/jetty-http2/pom.xml +++ b/jetty-http2/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-infinispan/infinispan-common/pom.xml b/jetty-infinispan/infinispan-common/pom.xml index 2c8aec025b6..18a83003868 100644 --- a/jetty-infinispan/infinispan-common/pom.xml +++ b/jetty-infinispan/infinispan-common/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty infinispan-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 infinispan-common diff --git a/jetty-infinispan/infinispan-embedded-query/pom.xml b/jetty-infinispan/infinispan-embedded-query/pom.xml index fbfea31e741..e6143092de6 100644 --- a/jetty-infinispan/infinispan-embedded-query/pom.xml +++ b/jetty-infinispan/infinispan-embedded-query/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty infinispan-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 infinispan-embedded-query diff --git a/jetty-infinispan/infinispan-embedded/pom.xml b/jetty-infinispan/infinispan-embedded/pom.xml index 15e8f396cbe..34d2b319386 100644 --- a/jetty-infinispan/infinispan-embedded/pom.xml +++ b/jetty-infinispan/infinispan-embedded/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty infinispan-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 infinispan-embedded diff --git a/jetty-infinispan/infinispan-remote-query/pom.xml b/jetty-infinispan/infinispan-remote-query/pom.xml index ff8a81ffcae..171e01935d8 100644 --- a/jetty-infinispan/infinispan-remote-query/pom.xml +++ b/jetty-infinispan/infinispan-remote-query/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty infinispan-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 infinispan-remote-query diff --git a/jetty-infinispan/infinispan-remote/pom.xml b/jetty-infinispan/infinispan-remote/pom.xml index 9920c7c7650..0ab9effa08f 100644 --- a/jetty-infinispan/infinispan-remote/pom.xml +++ b/jetty-infinispan/infinispan-remote/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty infinispan-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 infinispan-remote diff --git a/jetty-infinispan/pom.xml b/jetty-infinispan/pom.xml index 349a1bda8e5..c9998fb72a0 100644 --- a/jetty-infinispan/pom.xml +++ b/jetty-infinispan/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-io/pom.xml b/jetty-io/pom.xml index e163e1925cf..24fc208acf0 100644 --- a/jetty-io/pom.xml +++ b/jetty-io/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-io diff --git a/jetty-jaas/pom.xml b/jetty-jaas/pom.xml index 35c26871a0b..d1e861398dd 100644 --- a/jetty-jaas/pom.xml +++ b/jetty-jaas/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-jaas diff --git a/jetty-jaspi/pom.xml b/jetty-jaspi/pom.xml index b8c028e0b68..668945447b8 100644 --- a/jetty-jaspi/pom.xml +++ b/jetty-jaspi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-jmh/pom.xml b/jetty-jmh/pom.xml index ce9c693908e..1daab5d6041 100644 --- a/jetty-jmh/pom.xml +++ b/jetty-jmh/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-jmx/pom.xml b/jetty-jmx/pom.xml index d824ab7b12a..a2f891e0395 100644 --- a/jetty-jmx/pom.xml +++ b/jetty-jmx/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-jmx diff --git a/jetty-jndi/pom.xml b/jetty-jndi/pom.xml index e1865c894c0..b47193e0a98 100644 --- a/jetty-jndi/pom.xml +++ b/jetty-jndi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-jndi diff --git a/jetty-jspc-maven-plugin/pom.xml b/jetty-jspc-maven-plugin/pom.xml index 68427f51ef1..a4ae84d322e 100644 --- a/jetty-jspc-maven-plugin/pom.xml +++ b/jetty-jspc-maven-plugin/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-jspc-maven-plugin diff --git a/jetty-maven-plugin/pom.xml b/jetty-maven-plugin/pom.xml index e62fad09b6a..3371ba1c7a2 100644 --- a/jetty-maven-plugin/pom.xml +++ b/jetty-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-maven-plugin diff --git a/jetty-memcached/jetty-memcached-sessions/pom.xml b/jetty-memcached/jetty-memcached-sessions/pom.xml index 8bffef807d7..299fcac6335 100644 --- a/jetty-memcached/jetty-memcached-sessions/pom.xml +++ b/jetty-memcached/jetty-memcached-sessions/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.memcached memcached-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-memcached/pom.xml b/jetty-memcached/pom.xml index f307ceabc61..9f3245b33fa 100644 --- a/jetty-memcached/pom.xml +++ b/jetty-memcached/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-nosql/pom.xml b/jetty-nosql/pom.xml index 4a340fda4d3..b58500377bc 100644 --- a/jetty-nosql/pom.xml +++ b/jetty-nosql/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-nosql diff --git a/jetty-openid/pom.xml b/jetty-openid/pom.xml index be876473aa6..b4cef4b2805 100644 --- a/jetty-openid/pom.xml +++ b/jetty-openid/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-osgi/jetty-osgi-alpn/pom.xml b/jetty-osgi/jetty-osgi-alpn/pom.xml index b5b0a777fad..0c62b91eaf3 100644 --- a/jetty-osgi/jetty-osgi-alpn/pom.xml +++ b/jetty-osgi/jetty-osgi-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-osgi-alpn diff --git a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml index 5dfe99a62d3..d4b9fb145c9 100644 --- a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-osgi-boot-jsp diff --git a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml index 7dc89206160..75fe90b3f38 100644 --- a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/jetty-osgi-boot/pom.xml b/jetty-osgi/jetty-osgi-boot/pom.xml index 379500e56ee..56742710e81 100644 --- a/jetty-osgi/jetty-osgi-boot/pom.xml +++ b/jetty-osgi/jetty-osgi-boot/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-osgi-boot diff --git a/jetty-osgi/jetty-osgi-httpservice/pom.xml b/jetty-osgi/jetty-osgi-httpservice/pom.xml index 9ed9765e99d..7f5b7453357 100644 --- a/jetty-osgi/jetty-osgi-httpservice/pom.xml +++ b/jetty-osgi/jetty-osgi-httpservice/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-httpservice diff --git a/jetty-osgi/pom.xml b/jetty-osgi/pom.xml index 451eb4f89f3..6a6b7583f0c 100644 --- a/jetty-osgi/pom.xml +++ b/jetty-osgi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi-context/pom.xml b/jetty-osgi/test-jetty-osgi-context/pom.xml index 1a769c204c6..1b1d72e09c3 100644 --- a/jetty-osgi/test-jetty-osgi-context/pom.xml +++ b/jetty-osgi/test-jetty-osgi-context/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 test-jetty-osgi-context diff --git a/jetty-osgi/test-jetty-osgi-fragment/pom.xml b/jetty-osgi/test-jetty-osgi-fragment/pom.xml index b19641ae905..d3a99d082ac 100644 --- a/jetty-osgi/test-jetty-osgi-fragment/pom.xml +++ b/jetty-osgi/test-jetty-osgi-fragment/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi-server/pom.xml b/jetty-osgi/test-jetty-osgi-server/pom.xml index e8940aaad07..3603adba1b8 100644 --- a/jetty-osgi/test-jetty-osgi-server/pom.xml +++ b/jetty-osgi/test-jetty-osgi-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 test-jetty-osgi-server diff --git a/jetty-osgi/test-jetty-osgi-webapp-resources/pom.xml b/jetty-osgi/test-jetty-osgi-webapp-resources/pom.xml index 0beaad07682..0b073ba82ab 100644 --- a/jetty-osgi/test-jetty-osgi-webapp-resources/pom.xml +++ b/jetty-osgi/test-jetty-osgi-webapp-resources/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 test-jetty-osgi-webapp-resources diff --git a/jetty-osgi/test-jetty-osgi-webapp/pom.xml b/jetty-osgi/test-jetty-osgi-webapp/pom.xml index 516a2e190a4..ab5a76e7f6c 100644 --- a/jetty-osgi/test-jetty-osgi-webapp/pom.xml +++ b/jetty-osgi/test-jetty-osgi-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi/pom.xml b/jetty-osgi/test-jetty-osgi/pom.xml index a6e510fa167..25a8c1cddc0 100644 --- a/jetty-osgi/test-jetty-osgi/pom.xml +++ b/jetty-osgi/test-jetty-osgi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-plus/pom.xml b/jetty-plus/pom.xml index e6fe36d8349..a3a8275f0e1 100644 --- a/jetty-plus/pom.xml +++ b/jetty-plus/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-plus diff --git a/jetty-proxy/pom.xml b/jetty-proxy/pom.xml index e3da8476cf6..790f4007780 100644 --- a/jetty-proxy/pom.xml +++ b/jetty-proxy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-proxy diff --git a/jetty-quickstart/pom.xml b/jetty-quickstart/pom.xml index 795b30e96c8..fda76985e3a 100644 --- a/jetty-quickstart/pom.xml +++ b/jetty-quickstart/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 org.eclipse.jetty diff --git a/jetty-rewrite/pom.xml b/jetty-rewrite/pom.xml index 3a591e0c129..1ddf64175cb 100644 --- a/jetty-rewrite/pom.xml +++ b/jetty-rewrite/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-rewrite diff --git a/jetty-runner/pom.xml b/jetty-runner/pom.xml index 77740bbf714..a6ac806e5ae 100644 --- a/jetty-runner/pom.xml +++ b/jetty-runner/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-runner diff --git a/jetty-security/pom.xml b/jetty-security/pom.xml index b94c1dbeafc..ad174fedaca 100644 --- a/jetty-security/pom.xml +++ b/jetty-security/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-security diff --git a/jetty-server/pom.xml b/jetty-server/pom.xml index c5712a12b18..f151fa1c9ff 100644 --- a/jetty-server/pom.xml +++ b/jetty-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-server diff --git a/jetty-servlet/pom.xml b/jetty-servlet/pom.xml index d7384f8acc6..00abe4bbbb0 100644 --- a/jetty-servlet/pom.xml +++ b/jetty-servlet/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-servlet diff --git a/jetty-servlets/pom.xml b/jetty-servlets/pom.xml index 42fe102c930..385464af381 100644 --- a/jetty-servlets/pom.xml +++ b/jetty-servlets/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-servlets diff --git a/jetty-spring/pom.xml b/jetty-spring/pom.xml index 4dad16313b5..b502831988e 100644 --- a/jetty-spring/pom.xml +++ b/jetty-spring/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-spring diff --git a/jetty-start/pom.xml b/jetty-start/pom.xml index 6dad94c3071..39ef94ad638 100644 --- a/jetty-start/pom.xml +++ b/jetty-start/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-start diff --git a/jetty-unixsocket/pom.xml b/jetty-unixsocket/pom.xml index 3fe186bd594..b5a7e6d07bd 100644 --- a/jetty-unixsocket/pom.xml +++ b/jetty-unixsocket/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-unixsocket diff --git a/jetty-util-ajax/pom.xml b/jetty-util-ajax/pom.xml index 941cb8b11b6..2f96269a47d 100644 --- a/jetty-util-ajax/pom.xml +++ b/jetty-util-ajax/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-util-ajax diff --git a/jetty-util/pom.xml b/jetty-util/pom.xml index 067a511d269..d1c9f04ed5f 100644 --- a/jetty-util/pom.xml +++ b/jetty-util/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-util diff --git a/jetty-webapp/pom.xml b/jetty-webapp/pom.xml index a5c8b7483f9..9532030c0bc 100644 --- a/jetty-webapp/pom.xml +++ b/jetty-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-webapp diff --git a/jetty-websocket/javax-websocket-client-impl/pom.xml b/jetty-websocket/javax-websocket-client-impl/pom.xml index 79f51febade..033a7fd9e21 100644 --- a/jetty-websocket/javax-websocket-client-impl/pom.xml +++ b/jetty-websocket/javax-websocket-client-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/javax-websocket-server-impl/pom.xml b/jetty-websocket/javax-websocket-server-impl/pom.xml index 6fc199c0736..81445c35aa0 100644 --- a/jetty-websocket/javax-websocket-server-impl/pom.xml +++ b/jetty-websocket/javax-websocket-server-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/jetty-websocket-tests/pom.xml b/jetty-websocket/jetty-websocket-tests/pom.xml index be5ea05925b..ffc823b1053 100644 --- a/jetty-websocket/jetty-websocket-tests/pom.xml +++ b/jetty-websocket/jetty-websocket-tests/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/pom.xml b/jetty-websocket/pom.xml index d0dddfdaaa5..9093b527eaa 100644 --- a/jetty-websocket/pom.xml +++ b/jetty-websocket/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-api/pom.xml b/jetty-websocket/websocket-api/pom.xml index c2d98aa17f0..03562a56af3 100644 --- a/jetty-websocket/websocket-api/pom.xml +++ b/jetty-websocket/websocket-api/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-client/pom.xml b/jetty-websocket/websocket-client/pom.xml index b775407fde7..48a72fb1b5e 100644 --- a/jetty-websocket/websocket-client/pom.xml +++ b/jetty-websocket/websocket-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-common/pom.xml b/jetty-websocket/websocket-common/pom.xml index fdcea95dbfb..6240f785609 100644 --- a/jetty-websocket/websocket-common/pom.xml +++ b/jetty-websocket/websocket-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-server/pom.xml b/jetty-websocket/websocket-server/pom.xml index 433dc315f52..2a2cec63809 100644 --- a/jetty-websocket/websocket-server/pom.xml +++ b/jetty-websocket/websocket-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml index 00458d8df52..e3663eb1d85 100644 --- a/jetty-websocket/websocket-servlet/pom.xml +++ b/jetty-websocket/websocket-servlet/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/jetty-xml/pom.xml b/jetty-xml/pom.xml index efbbf37c2b5..b3928128f3e 100644 --- a/jetty-xml/pom.xml +++ b/jetty-xml/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jetty-xml diff --git a/pom.xml b/pom.xml index c4dd144087d..bc970e45d99 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT Jetty :: Project The Eclipse Jetty Project pom diff --git a/tests/pom.xml b/tests/pom.xml index f66a70a9e42..d6aa9c817a0 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.34.v20201102 + 9.4.35-SNAPSHOT ../pom.xml org.eclipse.jetty.tests diff --git a/tests/test-continuation/pom.xml b/tests/test-continuation/pom.xml index 20563ea361a..792edd34b8f 100644 --- a/tests/test-continuation/pom.xml +++ b/tests/test-continuation/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-distribution/pom.xml b/tests/test-distribution/pom.xml index edaf5375eb0..2edaa313664 100644 --- a/tests/test-distribution/pom.xml +++ b/tests/test-distribution/pom.xml @@ -2,7 +2,7 @@ tests-parent org.eclipse.jetty.tests - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/tests/test-http-client-transport/pom.xml b/tests/test-http-client-transport/pom.xml index 9d3b33de021..4db7d2e3a0b 100644 --- a/tests/test-http-client-transport/pom.xml +++ b/tests/test-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml index ed3606aabf9..ec74ebb9130 100644 --- a/tests/test-integration/pom.xml +++ b/tests/test-integration/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 test-integration diff --git a/tests/test-jmx/jmx-webapp-it/pom.xml b/tests/test-jmx/jmx-webapp-it/pom.xml index c9d4fe4614f..a1b4a7dce3a 100644 --- a/tests/test-jmx/jmx-webapp-it/pom.xml +++ b/tests/test-jmx/jmx-webapp-it/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 jmx-webapp-it diff --git a/tests/test-jmx/jmx-webapp/pom.xml b/tests/test-jmx/jmx-webapp/pom.xml index f83ed45486d..8801d5187e8 100644 --- a/tests/test-jmx/jmx-webapp/pom.xml +++ b/tests/test-jmx/jmx-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT jmx-webapp war diff --git a/tests/test-jmx/pom.xml b/tests/test-jmx/pom.xml index 1d8d5a9a0b6..9f495ce54d9 100644 --- a/tests/test-jmx/pom.xml +++ b/tests/test-jmx/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 test-jmx-parent diff --git a/tests/test-loginservice/pom.xml b/tests/test-loginservice/pom.xml index c64abdfcc8d..ce644f84e79 100644 --- a/tests/test-loginservice/pom.xml +++ b/tests/test-loginservice/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-loginservice Jetty Tests :: Login Service diff --git a/tests/test-quickstart/pom.xml b/tests/test-quickstart/pom.xml index df7aa100881..7a6fcbc4a84 100644 --- a/tests/test-quickstart/pom.xml +++ b/tests/test-quickstart/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-sessions/pom.xml b/tests/test-sessions/pom.xml index 93d9081b527..9c32d2653f5 100644 --- a/tests/test-sessions/pom.xml +++ b/tests/test-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-sessions-parent Jetty Tests :: Sessions :: Parent diff --git a/tests/test-sessions/test-file-sessions/pom.xml b/tests/test-sessions/test-file-sessions/pom.xml index 0736a17d041..3aaafd382ec 100644 --- a/tests/test-sessions/test-file-sessions/pom.xml +++ b/tests/test-sessions/test-file-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-file-sessions Jetty Tests :: Sessions :: File diff --git a/tests/test-sessions/test-gcloud-sessions/pom.xml b/tests/test-sessions/test-gcloud-sessions/pom.xml index b903f7b9f54..606509801db 100644 --- a/tests/test-sessions/test-gcloud-sessions/pom.xml +++ b/tests/test-sessions/test-gcloud-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-gcloud-sessions Jetty Tests :: Sessions :: GCloud diff --git a/tests/test-sessions/test-hazelcast-sessions/pom.xml b/tests/test-sessions/test-hazelcast-sessions/pom.xml index c654fc867ca..a891fa39f27 100644 --- a/tests/test-sessions/test-hazelcast-sessions/pom.xml +++ b/tests/test-sessions/test-hazelcast-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-hazelcast-sessions Jetty Tests :: Sessions :: Hazelcast diff --git a/tests/test-sessions/test-infinispan-sessions/pom.xml b/tests/test-sessions/test-infinispan-sessions/pom.xml index 62d62738f0e..aab0c142663 100644 --- a/tests/test-sessions/test-infinispan-sessions/pom.xml +++ b/tests/test-sessions/test-infinispan-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-infinispan-sessions Jetty Tests :: Sessions :: Infinispan diff --git a/tests/test-sessions/test-jdbc-sessions/pom.xml b/tests/test-sessions/test-jdbc-sessions/pom.xml index 44dd4df2cfd..88b341b2de1 100644 --- a/tests/test-sessions/test-jdbc-sessions/pom.xml +++ b/tests/test-sessions/test-jdbc-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-jdbc-sessions Jetty Tests :: Sessions :: JDBC diff --git a/tests/test-sessions/test-memcached-sessions/pom.xml b/tests/test-sessions/test-memcached-sessions/pom.xml index 6db4e58ffba..784e8672e92 100644 --- a/tests/test-sessions/test-memcached-sessions/pom.xml +++ b/tests/test-sessions/test-memcached-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-memcached-sessions Jetty Tests :: Sessions :: Memcached diff --git a/tests/test-sessions/test-mongodb-sessions/pom.xml b/tests/test-sessions/test-mongodb-sessions/pom.xml index 8049c252c32..7fc62c95fd8 100644 --- a/tests/test-sessions/test-mongodb-sessions/pom.xml +++ b/tests/test-sessions/test-mongodb-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-mongodb-sessions Jetty Tests :: Sessions :: Mongo diff --git a/tests/test-sessions/test-sessions-common/pom.xml b/tests/test-sessions/test-sessions-common/pom.xml index 74326c85abe..3a177247ae9 100644 --- a/tests/test-sessions/test-sessions-common/pom.xml +++ b/tests/test-sessions/test-sessions-common/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-sessions-common Jetty Tests :: Sessions :: Common diff --git a/tests/test-webapps/pom.xml b/tests/test-webapps/pom.xml index 106eb671d80..ecb57de631e 100644 --- a/tests/test-webapps/pom.xml +++ b/tests/test-webapps/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT ../pom.xml test-webapps-parent diff --git a/tests/test-webapps/test-cdi-common-webapp/pom.xml b/tests/test-webapps/test-cdi-common-webapp/pom.xml index 2d7f8134d1a..215a1d6a029 100644 --- a/tests/test-webapps/test-cdi-common-webapp/pom.xml +++ b/tests/test-webapps/test-cdi-common-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/tests/test-webapps/test-felix-webapp/pom.xml b/tests/test-webapps/test-felix-webapp/pom.xml index a394c2335cd..78179b3f355 100644 --- a/tests/test-webapps/test-felix-webapp/pom.xml +++ b/tests/test-webapps/test-felix-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/tests/test-webapps/test-http2-webapp/pom.xml b/tests/test-webapps/test-http2-webapp/pom.xml index 101f1052319..b7ed1071569 100644 --- a/tests/test-webapps/test-http2-webapp/pom.xml +++ b/tests/test-webapps/test-http2-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/tests/test-webapps/test-jaas-webapp/pom.xml b/tests/test-webapps/test-jaas-webapp/pom.xml index b483e6b4d97..4071e7b8260 100644 --- a/tests/test-webapps/test-jaas-webapp/pom.xml +++ b/tests/test-webapps/test-jaas-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-jaas-webapp Jetty Tests :: WebApp :: JAAS diff --git a/tests/test-webapps/test-jetty-webapp/pom.xml b/tests/test-webapps/test-jetty-webapp/pom.xml index 197396e0c66..51791c1b2f0 100644 --- a/tests/test-webapps/test-jetty-webapp/pom.xml +++ b/tests/test-webapps/test-jetty-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-jndi-webapp/pom.xml b/tests/test-webapps/test-jndi-webapp/pom.xml index 6c8a4f35e2b..cbd2472eac1 100644 --- a/tests/test-webapps/test-jndi-webapp/pom.xml +++ b/tests/test-webapps/test-jndi-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-jndi-webapp Jetty Tests :: WebApp :: JNDI diff --git a/tests/test-webapps/test-mock-resources/pom.xml b/tests/test-webapps/test-mock-resources/pom.xml index 258c470c203..748386ec010 100644 --- a/tests/test-webapps/test-mock-resources/pom.xml +++ b/tests/test-webapps/test-mock-resources/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT Jetty Tests :: WebApp :: Mock Resources test-mock-resources diff --git a/tests/test-webapps/test-owb-cdi-webapp/pom.xml b/tests/test-webapps/test-owb-cdi-webapp/pom.xml index 030b56c5883..9876e7bd2fd 100644 --- a/tests/test-webapps/test-owb-cdi-webapp/pom.xml +++ b/tests/test-webapps/test-owb-cdi-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/tests/test-webapps/test-proxy-webapp/pom.xml b/tests/test-webapps/test-proxy-webapp/pom.xml index 5800c5ad830..f2daf296a1e 100644 --- a/tests/test-webapps/test-proxy-webapp/pom.xml +++ b/tests/test-webapps/test-proxy-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-servlet-spec/pom.xml b/tests/test-webapps/test-servlet-spec/pom.xml index 54739c314b2..1a3654eb216 100644 --- a/tests/test-webapps/test-servlet-spec/pom.xml +++ b/tests/test-webapps/test-servlet-spec/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-servlet-spec-parent Jetty Tests :: Spec Test WebApp :: Parent diff --git a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml index a3655acfe28..7513470d4d8 100644 --- a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-container-initializer jar diff --git a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml index 8acd6d42edc..e078d8dcf63 100644 --- a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT Jetty Tests :: Webapps :: Spec Webapp test-spec-webapp diff --git a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml index e95534d0df5..94a2e79e84d 100644 --- a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT Jetty Tests :: WebApp :: Servlet Spec :: Fragment Jar diff --git a/tests/test-webapps/test-simple-webapp/pom.xml b/tests/test-webapps/test-simple-webapp/pom.xml index 7e5c3b93ae5..a19600394ad 100644 --- a/tests/test-webapps/test-simple-webapp/pom.xml +++ b/tests/test-webapps/test-simple-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-simple-webapp diff --git a/tests/test-webapps/test-webapp-rfc2616/pom.xml b/tests/test-webapps/test-webapp-rfc2616/pom.xml index 7abc2755ce9..7011dae4bc9 100644 --- a/tests/test-webapps/test-webapp-rfc2616/pom.xml +++ b/tests/test-webapps/test-webapp-rfc2616/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT test-webapp-rfc2616 Jetty Tests :: WebApp :: RFC2616 diff --git a/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml b/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml index b7c6ad7a106..d4463bfbf55 100644 --- a/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml +++ b/tests/test-webapps/test-websocket-client-provided-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/tests/test-webapps/test-websocket-client-webapp/pom.xml b/tests/test-webapps/test-websocket-client-webapp/pom.xml index 1962337b764..da831550f03 100644 --- a/tests/test-webapps/test-websocket-client-webapp/pom.xml +++ b/tests/test-webapps/test-websocket-client-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 diff --git a/tests/test-webapps/test-weld-cdi-webapp/pom.xml b/tests/test-webapps/test-weld-cdi-webapp/pom.xml index 7ddacf0d0bb..a70965a307d 100644 --- a/tests/test-webapps/test-weld-cdi-webapp/pom.xml +++ b/tests/test-webapps/test-weld-cdi-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.34.v20201102 + 9.4.35-SNAPSHOT 4.0.0 From 761c67804a8033952f72f8ebb2e297b00ebdbfa9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Nov 2020 14:36:07 +0000 Subject: [PATCH 34/38] Bump maven-javadoc-plugin from 3.1.1 to 3.2.0 Bumps [maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.1.1 to 3.2.0. - [Release notes](https://github.com/apache/maven-javadoc-plugin/releases) - [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.1.1...maven-javadoc-plugin-3.2.0) Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 73d1ccd5b88..8221c056294 100644 --- a/pom.xml +++ b/pom.xml @@ -575,7 +575,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.1 + 3.2.0 8 UTF-8 From 40bde46b13527fee43426b04b210dc0e831916f8 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Tue, 3 Nov 2020 08:46:27 -0600 Subject: [PATCH 35/38] Bump maven-antrun-plugin from 1.8 to 3.0.0 + and update configuration/task to configuration/target Signed-off-by: Joakim Erdfelt --- jetty-distribution/pom.xml | 12 ++++++------ jetty-gcloud/jetty-gcloud-session-manager/pom.xml | 8 ++++---- jetty-home/pom.xml | 4 ++-- jetty-infinispan/infinispan-embedded-query/pom.xml | 8 ++++---- jetty-infinispan/infinispan-embedded/pom.xml | 8 ++++---- jetty-infinispan/infinispan-remote-query/pom.xml | 8 ++++---- jetty-infinispan/infinispan-remote/pom.xml | 8 ++++---- jetty-osgi/jetty-osgi-boot/pom.xml | 4 ++-- jetty-osgi/jetty-osgi-httpservice/pom.xml | 4 ++-- jetty-unixsocket/pom.xml | 4 ++-- pom.xml | 2 +- tests/test-webapps/test-jndi-webapp/pom.xml | 4 ++-- .../test-servlet-spec/test-spec-webapp/pom.xml | 4 ++-- 13 files changed, 39 insertions(+), 39 deletions(-) diff --git a/jetty-distribution/pom.xml b/jetty-distribution/pom.xml index eedfcd7a258..df08119524e 100644 --- a/jetty-distribution/pom.xml +++ b/jetty-distribution/pom.xml @@ -264,11 +264,11 @@ run - + - + @@ -278,9 +278,9 @@ run - + - + @@ -290,9 +290,9 @@ run - + - + diff --git a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml index 021225cd5b3..aa8b9cf42b4 100644 --- a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml @@ -113,10 +113,10 @@ run - + - + @@ -126,12 +126,12 @@ run - + - + diff --git a/jetty-home/pom.xml b/jetty-home/pom.xml index dc9b3940b63..1329fbe1a13 100644 --- a/jetty-home/pom.xml +++ b/jetty-home/pom.xml @@ -488,9 +488,9 @@ run - + - + diff --git a/jetty-infinispan/infinispan-embedded-query/pom.xml b/jetty-infinispan/infinispan-embedded-query/pom.xml index 569b258e358..4fbd42af2ea 100644 --- a/jetty-infinispan/infinispan-embedded-query/pom.xml +++ b/jetty-infinispan/infinispan-embedded-query/pom.xml @@ -45,10 +45,10 @@ run - + - + @@ -58,12 +58,12 @@ run - + - + diff --git a/jetty-infinispan/infinispan-embedded/pom.xml b/jetty-infinispan/infinispan-embedded/pom.xml index b33669b6d28..85d174cde9b 100644 --- a/jetty-infinispan/infinispan-embedded/pom.xml +++ b/jetty-infinispan/infinispan-embedded/pom.xml @@ -46,10 +46,10 @@ run - + - + @@ -59,12 +59,12 @@ run - + - + diff --git a/jetty-infinispan/infinispan-remote-query/pom.xml b/jetty-infinispan/infinispan-remote-query/pom.xml index 8c76d5cb9af..149972c7fa5 100644 --- a/jetty-infinispan/infinispan-remote-query/pom.xml +++ b/jetty-infinispan/infinispan-remote-query/pom.xml @@ -45,11 +45,11 @@ run - + - + @@ -59,12 +59,12 @@ run - + - + diff --git a/jetty-infinispan/infinispan-remote/pom.xml b/jetty-infinispan/infinispan-remote/pom.xml index 5f64be1d368..4a0d6fcaee1 100644 --- a/jetty-infinispan/infinispan-remote/pom.xml +++ b/jetty-infinispan/infinispan-remote/pom.xml @@ -46,11 +46,11 @@ run - + - + @@ -60,12 +60,12 @@ run - + - + diff --git a/jetty-osgi/jetty-osgi-boot/pom.xml b/jetty-osgi/jetty-osgi-boot/pom.xml index 02528818ace..2200c68e79b 100644 --- a/jetty-osgi/jetty-osgi-boot/pom.xml +++ b/jetty-osgi/jetty-osgi-boot/pom.xml @@ -46,14 +46,14 @@ process-resources - + - + run diff --git a/jetty-osgi/jetty-osgi-httpservice/pom.xml b/jetty-osgi/jetty-osgi-httpservice/pom.xml index 40f46b8a7ba..b268ba01b11 100644 --- a/jetty-osgi/jetty-osgi-httpservice/pom.xml +++ b/jetty-osgi/jetty-osgi-httpservice/pom.xml @@ -43,11 +43,11 @@ process-resources - + - + run diff --git a/jetty-unixsocket/pom.xml b/jetty-unixsocket/pom.xml index 97418cb7e69..61d844c0650 100644 --- a/jetty-unixsocket/pom.xml +++ b/jetty-unixsocket/pom.xml @@ -80,7 +80,7 @@ run - + @@ -92,7 +92,7 @@ - + diff --git a/pom.xml b/pom.xml index 73d1ccd5b88..9ef5dd5f2c5 100644 --- a/pom.xml +++ b/pom.xml @@ -463,7 +463,7 @@ org.apache.maven.plugins maven-antrun-plugin - 1.8 + 3.0.0 org.apache.maven.plugins diff --git a/tests/test-webapps/test-jndi-webapp/pom.xml b/tests/test-webapps/test-jndi-webapp/pom.xml index 0d30fe3028e..f5143c36bb9 100644 --- a/tests/test-webapps/test-jndi-webapp/pom.xml +++ b/tests/test-webapps/test-jndi-webapp/pom.xml @@ -29,14 +29,14 @@ generate-xml-files process-resources - + - + run diff --git a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml index b0f04aa29e1..ff9b200adc7 100644 --- a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml @@ -92,14 +92,14 @@ generate-xml-files process-resources - + - + run From f88f09a1484c77ab9c3ec7f1e072895579b2d009 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Tue, 3 Nov 2020 16:22:26 +0100 Subject: [PATCH 36/38] SessionCookieConfig name may be null (#5557) * SessionCookieConfig name may be null Protect against NPE by make a null name in SessionCookieConfig deactive session cookies. * SessionCookieConfig name may be null Protect against NPE by make a null name in SessionCookieConfig deactive session cookies. * SessionCookieConfig name may be null Protect against NPE by make a null name in SessionCookieConfig deactive session cookies. * feedback from review added static method to convert null name to default. --- .../jetty/server/session/SessionHandler.java | 24 ++++++++++++++----- .../webapp/StandardDescriptorProcessor.java | 5 ++-- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionHandler.java index 255b4b88eaf..f11e73ea49d 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/SessionHandler.java @@ -46,6 +46,7 @@ import javax.servlet.http.HttpSessionListener; import org.eclipse.jetty.http.BadMessageException; import org.eclipse.jetty.http.HttpCookie; +import org.eclipse.jetty.http.Syntax; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.SessionIdManager; @@ -662,7 +663,7 @@ public class SessionHandler extends ScopedHandler HttpCookie cookie = null; cookie = new HttpCookie( - _cookieConfig.getName(), + getSessionCookieName(_cookieConfig), id, _cookieConfig.getDomain(), sessionPath, @@ -1378,6 +1379,13 @@ public class SessionHandler extends ScopedHandler Session getSession(); } + public static String getSessionCookieName(SessionCookieConfig config) + { + if (config == null || config.getName() == null) + return __DefaultSessionCookie; + return config.getName(); + } + /** * CookieConfig * @@ -1466,6 +1474,10 @@ public class SessionHandler extends ScopedHandler { if (_context != null && _context.getContextHandler().isAvailable()) throw new IllegalStateException("CookieConfig cannot be set after ServletContext is started"); + if ("".equals(name)) + throw new IllegalArgumentException("Blank cookie name"); + if (name != null) + Syntax.requireValidRFC2616Token(name, "Bad Session cookie name"); _sessionCookie = name; } @@ -1645,18 +1657,18 @@ public class SessionHandler extends ScopedHandler Cookie[] cookies = request.getCookies(); if (cookies != null && cookies.length > 0) { - final String sessionCookie = getSessionCookieConfig().getName(); - for (int i = 0; i < cookies.length; i++) + final String sessionCookie = getSessionCookieName(getSessionCookieConfig()); + for (Cookie cookie : cookies) { - if (sessionCookie.equalsIgnoreCase(cookies[i].getName())) + if (sessionCookie.equalsIgnoreCase(cookie.getName())) { - String id = cookies[i].getValue(); + String id = cookie.getValue(); requestedSessionIdFromCookie = true; if (LOG.isDebugEnabled()) LOG.debug("Got Session ID {} from cookie {}", id, sessionCookie); HttpSession s = getHttpSession(id); - + if (requestedSessionId == null) { //no previous id, always accept this one diff --git a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java index 3f959ce88bd..33967487af3 100644 --- a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java +++ b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java @@ -38,6 +38,7 @@ import org.eclipse.jetty.http.pathmap.ServletPathSpec; import org.eclipse.jetty.security.ConstraintAware; import org.eclipse.jetty.security.ConstraintMapping; import org.eclipse.jetty.security.authentication.FormAuthenticator; +import org.eclipse.jetty.server.session.SessionHandler; import org.eclipse.jetty.servlet.ErrorPageErrorHandler; import org.eclipse.jetty.servlet.FilterHolder; import org.eclipse.jetty.servlet.FilterMapping; @@ -732,7 +733,7 @@ public class StandardDescriptorProcessor extends IterativeDescriptorProcessor case WebFragment: { //a web-fragment set the value, all web-fragments must have the same value - if (!context.getSessionHandler().getSessionCookieConfig().getName().equals(name)) + if (!name.equals(SessionHandler.getSessionCookieName(context.getSessionHandler().getSessionCookieConfig()))) throw new IllegalStateException("Conflicting cookie-config name " + name + " in " + descriptor.getResource()); break; } @@ -806,7 +807,7 @@ public class StandardDescriptorProcessor extends IterativeDescriptorProcessor case WebFragment: { //a web-fragment set the value, all web-fragments must have the same value - if (!context.getSessionHandler().getSessionCookieConfig().getPath().equals(path)) + if (!path.equals(context.getSessionHandler().getSessionCookieConfig().getPath())) throw new IllegalStateException("Conflicting cookie-config path " + path + " in " + descriptor.getResource()); break; } From 2c43fbf37be16531e1e5d0c91d82630e37244f58 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Tue, 3 Nov 2020 14:08:58 -0600 Subject: [PATCH 37/38] Bump protostream from 4.2.2.Final to 4.3.4.Final Signed-off-by: Joakim Erdfelt --- jetty-infinispan/infinispan-common/pom.xml | 2 +- jetty-infinispan/infinispan-remote/pom.xml | 2 +- pom.xml | 1 + tests/test-sessions/test-infinispan-sessions/pom.xml | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/jetty-infinispan/infinispan-common/pom.xml b/jetty-infinispan/infinispan-common/pom.xml index 5abc71fead1..1c86da6f07e 100644 --- a/jetty-infinispan/infinispan-common/pom.xml +++ b/jetty-infinispan/infinispan-common/pom.xml @@ -43,7 +43,7 @@ org.infinispan.protostream protostream - 4.2.2.Final + ${infinispan.protostream.version} true provided diff --git a/jetty-infinispan/infinispan-remote/pom.xml b/jetty-infinispan/infinispan-remote/pom.xml index 4a0d6fcaee1..66e9b5640d1 100644 --- a/jetty-infinispan/infinispan-remote/pom.xml +++ b/jetty-infinispan/infinispan-remote/pom.xml @@ -111,7 +111,7 @@ org.infinispan.protostream protostream - 4.2.2.Final + ${infinispan.protostream.version} provided diff --git a/pom.xml b/pom.xml index 6ba95f15ebc..1733a21c290 100644 --- a/pom.xml +++ b/pom.xml @@ -26,6 +26,7 @@ 1.1.3.v20160715 8.5.54 9.4.8.Final + 4.3.4.Final 2.0.10 2.5.1 9.0 diff --git a/tests/test-sessions/test-infinispan-sessions/pom.xml b/tests/test-sessions/test-infinispan-sessions/pom.xml index a76f441b583..1b583db656f 100644 --- a/tests/test-sessions/test-infinispan-sessions/pom.xml +++ b/tests/test-sessions/test-infinispan-sessions/pom.xml @@ -126,7 +126,7 @@ org.infinispan.protostream protostream - 4.2.2.Final + ${infinispan.protostream.version} test From 4f8707390e94825cad56d0272dcfc625b757d3f7 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Wed, 4 Nov 2020 10:09:15 -0600 Subject: [PATCH 38/38] Adding required gson dependency to test-infinispan-sessions Signed-off-by: Joakim Erdfelt --- pom.xml | 1 + tests/test-sessions/test-infinispan-sessions/pom.xml | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/pom.xml b/pom.xml index 1733a21c290..d90705f9118 100644 --- a/pom.xml +++ b/pom.xml @@ -27,6 +27,7 @@ 8.5.54 9.4.8.Final 4.3.4.Final + 2.8.6 2.0.10 2.5.1 9.0 diff --git a/tests/test-sessions/test-infinispan-sessions/pom.xml b/tests/test-sessions/test-infinispan-sessions/pom.xml index 1b583db656f..4aeb7ef0929 100644 --- a/tests/test-sessions/test-infinispan-sessions/pom.xml +++ b/tests/test-sessions/test-infinispan-sessions/pom.xml @@ -129,6 +129,12 @@ ${infinispan.protostream.version} test + + com.google.code.gson + gson + ${gson.version} + test + org.slf4j slf4j-simple