Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.4:Update
netty
0003-Remove-optional-deps-jetty-alpn-and-npn.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0003-Remove-optional-deps-jetty-alpn-and-npn.patch of Package netty
From 4d8c81c9cdc1c1ba3a823179dcc4ccef7042367b Mon Sep 17 00:00:00 2001 From: Mat Booth <mat.booth@redhat.com> Date: Mon, 7 Sep 2020 13:26:20 +0100 Subject: [PATCH 3/7] Remove optional deps jetty alpn and npn --- handler/pom.xml | 10 -- .../JdkAlpnApplicationProtocolNegotiator.java | 5 - .../JdkNpnApplicationProtocolNegotiator.java | 10 +- .../netty/handler/ssl/JettyAlpnSslEngine.java | 157 ------------------ .../netty/handler/ssl/JettyNpnSslEngine.java | 122 -------------- pom.xml | 14 -- 6 files changed, 2 insertions(+), 316 deletions(-) delete mode 100644 handler/src/main/java/io/netty/handler/ssl/JettyAlpnSslEngine.java delete mode 100644 handler/src/main/java/io/netty/handler/ssl/JettyNpnSslEngine.java diff --git a/handler/pom.xml b/handler/pom.xml index a1f438f510..4a98d473cf 100644 --- a/handler/pom.xml +++ b/handler/pom.xml @@ -86,16 +86,6 @@ <artifactId>bctls-jdk15on</artifactId> <optional>true</optional> </dependency> - <dependency> - <groupId>org.eclipse.jetty.npn</groupId> - <artifactId>npn-api</artifactId> - <optional>true</optional> - </dependency> - <dependency> - <groupId>org.eclipse.jetty.alpn</groupId> - <artifactId>alpn-api</artifactId> - <optional>true</optional> - </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> diff --git a/handler/src/main/java/io/netty/handler/ssl/JdkAlpnApplicationProtocolNegotiator.java b/handler/src/main/java/io/netty/handler/ssl/JdkAlpnApplicationProtocolNegotiator.java index b5715e87ff..df87f0f43a 100644 --- a/handler/src/main/java/io/netty/handler/ssl/JdkAlpnApplicationProtocolNegotiator.java +++ b/handler/src/main/java/io/netty/handler/ssl/JdkAlpnApplicationProtocolNegotiator.java @@ -27,7 +27,6 @@ import javax.net.ssl.SSLEngine; @Deprecated public final class JdkAlpnApplicationProtocolNegotiator extends JdkBaseApplicationProtocolNegotiator { private static final boolean AVAILABLE = JdkAlpnSslUtils.supportsAlpn() || - JettyAlpnSslEngine.isAvailable() || BouncyCastle.isAvailable(); private static final SslEngineWrapperFactory ALPN_WRAPPER = AVAILABLE ? new AlpnWrapper() : new FailureWrapper(); @@ -135,10 +134,6 @@ public final class JdkAlpnApplicationProtocolNegotiator extends JdkBaseApplicati if (JdkAlpnSslUtils.supportsAlpn()) { return new JdkAlpnSslEngine(engine, applicationNegotiator, isServer); } - if (JettyAlpnSslEngine.isAvailable()) { - return isServer ? JettyAlpnSslEngine.newServerEngine(engine, applicationNegotiator) - : JettyAlpnSslEngine.newClientEngine(engine, applicationNegotiator); - } throw new UnsupportedOperationException("ALPN not supported. Unable to wrap SSLEngine of type '" + engine.getClass().getName() + "')"); } diff --git a/handler/src/main/java/io/netty/handler/ssl/JdkNpnApplicationProtocolNegotiator.java b/handler/src/main/java/io/netty/handler/ssl/JdkNpnApplicationProtocolNegotiator.java index cbaeb0c462..569c3011c1 100644 --- a/handler/src/main/java/io/netty/handler/ssl/JdkNpnApplicationProtocolNegotiator.java +++ b/handler/src/main/java/io/netty/handler/ssl/JdkNpnApplicationProtocolNegotiator.java @@ -25,17 +25,11 @@ import javax.net.ssl.SSLEngine; @Deprecated public final class JdkNpnApplicationProtocolNegotiator extends JdkBaseApplicationProtocolNegotiator { private static final SslEngineWrapperFactory NPN_WRAPPER = new SslEngineWrapperFactory() { - { - if (!JettyNpnSslEngine.isAvailable()) { - throw new RuntimeException("NPN unsupported. Is your classpath configured correctly?" - + " See https://wiki.eclipse.org/Jetty/Feature/NPN"); - } - } - @Override public SSLEngine wrapSslEngine(SSLEngine engine, JdkApplicationProtocolNegotiator applicationNegotiator, boolean isServer) { - return new JettyNpnSslEngine(engine, applicationNegotiator, isServer); + throw new UnsupportedOperationException("NPN not supported. Unable to wrap SSLEngine of type '" + + engine.getClass().getName() + "')"); } }; diff --git a/handler/src/main/java/io/netty/handler/ssl/JettyAlpnSslEngine.java b/handler/src/main/java/io/netty/handler/ssl/JettyAlpnSslEngine.java deleted file mode 100644 index c8f03f9963..0000000000 --- a/handler/src/main/java/io/netty/handler/ssl/JettyAlpnSslEngine.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright 2014 The Netty Project - * - * The Netty Project licenses this file to you under the Apache License, - * version 2.0 (the "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at: - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ -package io.netty.handler.ssl; - -import static io.netty.handler.ssl.SslUtils.toSSLHandshakeException; -import static io.netty.util.internal.ObjectUtil.checkNotNull; - -import io.netty.handler.ssl.JdkApplicationProtocolNegotiator.ProtocolSelectionListener; -import io.netty.handler.ssl.JdkApplicationProtocolNegotiator.ProtocolSelector; - -import java.util.LinkedHashSet; -import java.util.List; - -import javax.net.ssl.SSLEngine; -import javax.net.ssl.SSLException; - -import io.netty.util.internal.PlatformDependent; -import org.eclipse.jetty.alpn.ALPN; - -abstract class JettyAlpnSslEngine extends JdkSslEngine { - private static final boolean available = initAvailable(); - - static boolean isAvailable() { - return available; - } - - private static boolean initAvailable() { - if (PlatformDependent.javaVersion() <= 8) { - try { - // Always use bootstrap class loader. - Class.forName("sun.security.ssl.ALPNExtension", true, null); - return true; - } catch (Throwable ignore) { - // alpn-boot was not loaded. - } - } - return false; - } - - static JettyAlpnSslEngine newClientEngine(SSLEngine engine, - JdkApplicationProtocolNegotiator applicationNegotiator) { - return new ClientEngine(engine, applicationNegotiator); - } - - static JettyAlpnSslEngine newServerEngine(SSLEngine engine, - JdkApplicationProtocolNegotiator applicationNegotiator) { - return new ServerEngine(engine, applicationNegotiator); - } - - private JettyAlpnSslEngine(SSLEngine engine) { - super(engine); - } - - private static final class ClientEngine extends JettyAlpnSslEngine { - ClientEngine(SSLEngine engine, final JdkApplicationProtocolNegotiator applicationNegotiator) { - super(engine); - checkNotNull(applicationNegotiator, "applicationNegotiator"); - final ProtocolSelectionListener protocolListener = checkNotNull(applicationNegotiator - .protocolListenerFactory().newListener(this, applicationNegotiator.protocols()), - "protocolListener"); - ALPN.put(engine, new ALPN.ClientProvider() { - @Override - public List<String> protocols() { - return applicationNegotiator.protocols(); - } - - @Override - public void selected(String protocol) throws SSLException { - try { - protocolListener.selected(protocol); - } catch (Throwable t) { - throw toSSLHandshakeException(t); - } - } - - @Override - public void unsupported() { - protocolListener.unsupported(); - } - }); - } - - @Override - public void closeInbound() throws SSLException { - try { - ALPN.remove(getWrappedEngine()); - } finally { - super.closeInbound(); - } - } - - @Override - public void closeOutbound() { - try { - ALPN.remove(getWrappedEngine()); - } finally { - super.closeOutbound(); - } - } - } - - private static final class ServerEngine extends JettyAlpnSslEngine { - ServerEngine(SSLEngine engine, final JdkApplicationProtocolNegotiator applicationNegotiator) { - super(engine); - checkNotNull(applicationNegotiator, "applicationNegotiator"); - final ProtocolSelector protocolSelector = checkNotNull(applicationNegotiator.protocolSelectorFactory() - .newSelector(this, new LinkedHashSet<String>(applicationNegotiator.protocols())), - "protocolSelector"); - ALPN.put(engine, new ALPN.ServerProvider() { - @Override - public String select(List<String> protocols) throws SSLException { - try { - return protocolSelector.select(protocols); - } catch (Throwable t) { - throw toSSLHandshakeException(t); - } - } - - @Override - public void unsupported() { - protocolSelector.unsupported(); - } - }); - } - - @Override - public void closeInbound() throws SSLException { - try { - ALPN.remove(getWrappedEngine()); - } finally { - super.closeInbound(); - } - } - - @Override - public void closeOutbound() { - try { - ALPN.remove(getWrappedEngine()); - } finally { - super.closeOutbound(); - } - } - } -} diff --git a/handler/src/main/java/io/netty/handler/ssl/JettyNpnSslEngine.java b/handler/src/main/java/io/netty/handler/ssl/JettyNpnSslEngine.java deleted file mode 100644 index aad00b5f6d..0000000000 --- a/handler/src/main/java/io/netty/handler/ssl/JettyNpnSslEngine.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright 2014 The Netty Project - * - * The Netty Project licenses this file to you under the Apache License, - * version 2.0 (the "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at: - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -package io.netty.handler.ssl; - -import static io.netty.util.internal.ObjectUtil.checkNotNull; -import io.netty.handler.ssl.JdkApplicationProtocolNegotiator.ProtocolSelectionListener; -import io.netty.handler.ssl.JdkApplicationProtocolNegotiator.ProtocolSelector; -import io.netty.util.internal.PlatformDependent; - -import java.util.LinkedHashSet; -import java.util.List; - -import javax.net.ssl.SSLEngine; -import javax.net.ssl.SSLException; - -import org.eclipse.jetty.npn.NextProtoNego; -import org.eclipse.jetty.npn.NextProtoNego.ClientProvider; -import org.eclipse.jetty.npn.NextProtoNego.ServerProvider; - -final class JettyNpnSslEngine extends JdkSslEngine { - private static boolean available; - - static boolean isAvailable() { - updateAvailability(); - return available; - } - - private static void updateAvailability() { - if (available) { - return; - } - try { - // Always use bootstrap class loader. - Class.forName("sun.security.ssl.NextProtoNegoExtension", true, null); - available = true; - } catch (Exception ignore) { - // npn-boot was not loaded. - } - } - - JettyNpnSslEngine(SSLEngine engine, final JdkApplicationProtocolNegotiator applicationNegotiator, boolean server) { - super(engine); - checkNotNull(applicationNegotiator, "applicationNegotiator"); - - if (server) { - final ProtocolSelectionListener protocolListener = checkNotNull(applicationNegotiator - .protocolListenerFactory().newListener(this, applicationNegotiator.protocols()), - "protocolListener"); - NextProtoNego.put(engine, new ServerProvider() { - @Override - public void unsupported() { - protocolListener.unsupported(); - } - - @Override - public List<String> protocols() { - return applicationNegotiator.protocols(); - } - - @Override - public void protocolSelected(String protocol) { - try { - protocolListener.selected(protocol); - } catch (Throwable t) { - PlatformDependent.throwException(t); - } - } - }); - } else { - final ProtocolSelector protocolSelector = checkNotNull(applicationNegotiator.protocolSelectorFactory() - .newSelector(this, new LinkedHashSet<String>(applicationNegotiator.protocols())), - "protocolSelector"); - NextProtoNego.put(engine, new ClientProvider() { - @Override - public boolean supports() { - return true; - } - - @Override - public void unsupported() { - protocolSelector.unsupported(); - } - - @Override - public String selectProtocol(List<String> protocols) { - try { - return protocolSelector.select(protocols); - } catch (Throwable t) { - PlatformDependent.throwException(t); - return null; - } - } - }); - } - } - - @Override - public void closeInbound() throws SSLException { - NextProtoNego.remove(getWrappedEngine()); - super.closeInbound(); - } - - @Override - public void closeOutbound() { - NextProtoNego.remove(getWrappedEngine()); - super.closeOutbound(); - } -} diff --git a/pom.xml b/pom.xml index 3976ea7eb8..fb437f78ca 100644 --- a/pom.xml +++ b/pom.xml @@ -785,20 +785,6 @@ <optional>true</optional> </dependency> - <!-- SPDY and HTTP/2 - completely optional --> - <dependency> - <groupId>org.eclipse.jetty.npn</groupId> - <artifactId>npn-api</artifactId> - <version>1.1.1.v20141010</version> - <scope>provided</scope> <!-- Provided by npn-boot --> - </dependency> - <dependency> - <groupId>org.eclipse.jetty.alpn</groupId> - <artifactId>alpn-api</artifactId> - <version>1.1.2.v20150522</version> - <scope>provided</scope> <!-- Provided by alpn-boot --> - </dependency> - <!-- Google Protocol Buffers - completely optional --> <dependency> <groupId>com.google.protobuf</groupId> -- 2.44.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor