Repository: cxf
Updated Branches:
  refs/heads/master ca1fa2faa -> 12df8ab26


CXF-7488 - "Protocol Mismatch when using Netty with TLS"


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/12df8ab2
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/12df8ab2
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/12df8ab2

Branch: refs/heads/master
Commit: 12df8ab265109473b406bba414efcd07bf94ebd6
Parents: ca1fa2f
Author: Colm O hEigeartaigh <cohei...@apache.org>
Authored: Tue Aug 29 17:11:30 2017 +0100
Committer: Colm O hEigeartaigh <cohei...@apache.org>
Committed: Tue Aug 29 17:11:30 2017 +0100

----------------------------------------------------------------------
 .../http/netty/server/NettyHttpServerEngine.java   |  5 +++++
 .../netty/server/NettyHttpServerEngineTest.java    | 17 +++++++++++++++++
 2 files changed, 22 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/12df8ab2/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngine.java
----------------------------------------------------------------------
diff --git 
a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngine.java
 
b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngine.java
index b8547f6..deeee48 100644
--- 
a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngine.java
+++ 
b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngine.java
@@ -117,6 +117,11 @@ public class NettyHttpServerEngine implements ServerEngine 
{
      */
     public void setTlsServerParameters(TLSServerParameters params) {
         tlsServerParameters = params;
+        if (tlsServerParameters != null) {
+            protocol = "https";
+        } else {
+            protocol = "http";
+        }
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/cxf/blob/12df8ab2/rt/transports/http-netty/netty-server/src/test/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngineTest.java
----------------------------------------------------------------------
diff --git 
a/rt/transports/http-netty/netty-server/src/test/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngineTest.java
 
b/rt/transports/http-netty/netty-server/src/test/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngineTest.java
index c151a39..cd23ad9 100644
--- 
a/rt/transports/http-netty/netty-server/src/test/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngineTest.java
+++ 
b/rt/transports/http-netty/netty-server/src/test/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngineTest.java
@@ -25,8 +25,12 @@ import java.io.InputStream;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.net.URLConnection;
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.cxf.Bus;
 import org.apache.cxf.configuration.Configurer;
+import org.apache.cxf.configuration.jsse.TLSServerParameters;
 import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.testutil.common.TestUtil;
 import org.easymock.EasyMock;
@@ -39,6 +43,8 @@ import org.junit.Test;
 public class NettyHttpServerEngineTest extends Assert {
     private static final int PORT1
         = 
Integer.valueOf(TestUtil.getPortNumber(NettyHttpServerEngineTest.class, 1));
+    private static final int PORT2
+        = 
Integer.valueOf(TestUtil.getPortNumber(NettyHttpServerEngineTest.class, 2));
     private static final int PORT3
         = 
Integer.valueOf(TestUtil.getPortNumber(NettyHttpServerEngineTest.class, 3));
 
@@ -140,6 +146,17 @@ public class NettyHttpServerEngineTest extends Assert {
         NettyHttpServerEngineFactory.destroyForPort(PORT3);
     }
 
+    @Test
+    public void testHttps() throws Exception {
+        Map<String, TLSServerParameters> tlsParamsMap = new HashMap<>();
+        tlsParamsMap.put(Integer.toString(PORT2), new TLSServerParameters());
+        factory.setTlsServerParameters(tlsParamsMap);
+
+        factory.createNettyHttpServerEngine(PORT2, "https");
+
+        NettyHttpServerEngineFactory.destroyForPort(PORT2);
+    }
+
     private String getResponse(String target) throws Exception {
         URL url = new URL(target);
 

Reply via email to