You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by dr...@apache.org on 2015/01/21 05:59:08 UTC

directory-kerberos git commit: DIRKRB-129 KDC server supports both TCP and UDP. Contributed by Niklas Arya

Repository: directory-kerberos
Updated Branches:
  refs/heads/master 179b9edbe -> 0286d930a


DIRKRB-129 KDC server supports both TCP and UDP. Contributed by Niklas Arya


Project: http://git-wip-us.apache.org/repos/asf/directory-kerberos/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerberos/commit/0286d930
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerberos/tree/0286d930
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerberos/diff/0286d930

Branch: refs/heads/master
Commit: 0286d930adfffbcb55b469bc4079aeb9e92118ea
Parents: 179b9ed
Author: drankye <dr...@gmail.com>
Authored: Wed Jan 21 20:56:04 2015 +0800
Committer: drankye <dr...@gmail.com>
Committed: Wed Jan 21 20:56:04 2015 +0800

----------------------------------------------------------------------
 contrib/haox-token/pom.xml                      |  2 +-
 .../org/apache/kerberos/kdc/server/KdcTest.java |  2 +-
 .../kerberos/kerb/server/TestKdcServer.java     |  4 +--
 .../kerberos/kerb/server/KdcTestBase.java       | 10 ++++--
 .../apache/kerberos/kerb/server/KdcConfig.java  | 11 ++++--
 .../kerberos/kerb/server/KdcConfigKey.java      |  3 +-
 .../apache/kerberos/kerb/server/KdcServer.java  | 37 +++++++++++++-------
 .../apache/kerberos/kerb/server/KdcTest.java    |  2 +-
 8 files changed, 47 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/0286d930/contrib/haox-token/pom.xml
----------------------------------------------------------------------
diff --git a/contrib/haox-token/pom.xml b/contrib/haox-token/pom.xml
index 67ae533..44cd706 100644
--- a/contrib/haox-token/pom.xml
+++ b/contrib/haox-token/pom.xml
@@ -41,4 +41,4 @@
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/0286d930/haox-kdc/kdc-server/src/test/java/org/apache/kerberos/kdc/server/KdcTest.java
----------------------------------------------------------------------
diff --git a/haox-kdc/kdc-server/src/test/java/org/apache/kerberos/kdc/server/KdcTest.java b/haox-kdc/kdc-server/src/test/java/org/apache/kerberos/kdc/server/KdcTest.java
index a453292..b84a43a 100644
--- a/haox-kdc/kdc-server/src/test/java/org/apache/kerberos/kdc/server/KdcTest.java
+++ b/haox-kdc/kdc-server/src/test/java/org/apache/kerberos/kdc/server/KdcTest.java
@@ -40,7 +40,7 @@ public class KdcTest {
     public void setUp() throws Exception {
         kdcServer = new ApacheKdcServer();
         kdcServer.setKdcHost(serverHost);
-        kdcServer.setKdcPort(serverPort);
+        kdcServer.setKdcTcpPort(serverPort);
         kdcServer.init();
         kdcServer.start();
     }

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/0286d930/haox-kerb/kerb-kdc-test/src/main/java/org/apache/kerberos/kerb/server/TestKdcServer.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-kdc-test/src/main/java/org/apache/kerberos/kerb/server/TestKdcServer.java b/haox-kerb/kerb-kdc-test/src/main/java/org/apache/kerberos/kerb/server/TestKdcServer.java
index fa90ffa..78c3a22 100644
--- a/haox-kerb/kerb-kdc-test/src/main/java/org/apache/kerberos/kerb/server/TestKdcServer.java
+++ b/haox-kerb/kerb-kdc-test/src/main/java/org/apache/kerberos/kerb/server/TestKdcServer.java
@@ -40,13 +40,13 @@ public class TestKdcServer extends SimpleKdcServer {
     public static final String ORG_DOMAIN = KdcConfigKey.KDC_DOMAIN.getPropertyKey();
     public static final String KDC_REALM = KdcConfigKey.KDC_REALM.getPropertyKey();
     public static final String KDC_HOST = KdcConfigKey.KDC_HOST.getPropertyKey();
-    public static final String KDC_PORT = KdcConfigKey.KDC_PORT.getPropertyKey();
+    public static final String KDC_TCP_PORT = KdcConfigKey.KDC_TCP_PORT.getPropertyKey();
     public static final String WORK_DIR = KdcConfigKey.WORK_DIR.getPropertyKey();
 
     private static final Properties DEFAULT_CONFIG = new Properties();
     static {
         DEFAULT_CONFIG.setProperty(KDC_HOST, "localhost");
-        DEFAULT_CONFIG.setProperty(KDC_PORT, "8018");
+        DEFAULT_CONFIG.setProperty(KDC_TCP_PORT, "8018");
         DEFAULT_CONFIG.setProperty(ORG_DOMAIN, "test.com");
         DEFAULT_CONFIG.setProperty(KDC_REALM, "TEST.COM");
     }

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/0286d930/haox-kerb/kerb-kdc-test/src/test/java/org/apache/kerberos/kerb/server/KdcTestBase.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-kdc-test/src/test/java/org/apache/kerberos/kerb/server/KdcTestBase.java b/haox-kerb/kerb-kdc-test/src/test/java/org/apache/kerberos/kerb/server/KdcTestBase.java
index bf4dc38..a692582 100644
--- a/haox-kerb/kerb-kdc-test/src/test/java/org/apache/kerberos/kerb/server/KdcTestBase.java
+++ b/haox-kerb/kerb-kdc-test/src/test/java/org/apache/kerberos/kerb/server/KdcTestBase.java
@@ -31,7 +31,8 @@ public abstract class KdcTestBase {
     protected String serverPrincipal;
 
     protected String hostname = "localhost";
-    protected short port = 8088;
+    protected short tcpPort = 8088;
+    protected short udpPort = 8089;
 
     protected TestKdcServer kdcServer;
     protected KrbClient krbClnt;
@@ -45,7 +46,8 @@ public abstract class KdcTestBase {
     protected void setUpKdcServer() throws Exception {
         kdcServer = new TestKdcServer();
         kdcServer.setKdcHost(hostname);
-        kdcServer.setKdcPort(port);
+        kdcServer.setKdcTcpPort(tcpPort);
+        kdcServer.setKdcUdpPort(udpPort);
         kdcServer.init();
 
         kdcRealm = kdcServer.getKdcRealm();
@@ -56,11 +58,13 @@ public abstract class KdcTestBase {
     }
 
     protected void setUpClient() throws Exception {
-        krbClnt = new KrbClient(hostname, port);
+        krbClnt = new KrbClient(hostname, tcpPort);
         krbClnt.setTimeout(5);
         krbClnt.setKdcRealm(kdcServer.getKdcRealm());
     }
 
+
+
     @After
     public void tearDown() throws Exception {
         kdcServer.stop();

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/0286d930/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcConfig.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcConfig.java b/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcConfig.java
index f786ce8..ba4208a 100644
--- a/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcConfig.java
+++ b/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcConfig.java
@@ -52,9 +52,14 @@ public class KdcConfig {
         return conf.getString(KdcConfigKey.KDC_HOST);
     }
 
-    public short getKdcPort() {
-        Integer kdcPort = conf.getInt(KdcConfigKey.KDC_PORT);
-        return kdcPort.shortValue();
+    public short getKdcTcpPort() {
+        Integer kdcTcpPort = conf.getInt(KdcConfigKey.KDC_TCP_PORT);
+        return kdcTcpPort.shortValue();
+    }
+
+    public short getKdcUdpPort() {
+        Integer kdcUdpPort = conf.getInt(KdcConfigKey.KDC_UDP_PORT);
+        return kdcUdpPort.shortValue();
     }
 
     public String getKdcRealm() {

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/0286d930/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcConfigKey.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcConfigKey.java b/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcConfigKey.java
index af94910..6b7a185 100644
--- a/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcConfigKey.java
+++ b/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcConfigKey.java
@@ -26,7 +26,8 @@ public enum KdcConfigKey implements ConfigKey {
     WORK_DIR,
     KDC_SERVICE_NAME("Haox_KDC_Server"),
     KDC_HOST("127.0.0.1"),
-    KDC_PORT(8015),
+    KDC_TCP_PORT(8015),
+    KDC_UDP_PORT(8016),
     KDC_DOMAIN("example.com"),
     KDC_REALM("EXAMPLE.COM"),
     TGS_PRINCIPAL("krbtgt@EXAMPLE.COM"),

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/0286d930/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcServer.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcServer.java b/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcServer.java
index 3d349fd..db101c1 100644
--- a/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcServer.java
+++ b/haox-kerb/kerb-server/src/main/java/org/apache/kerberos/kerb/server/KdcServer.java
@@ -22,14 +22,14 @@ package org.apache.kerberos.kerb.server;
 import org.apache.haox.event.EventHub;
 import org.apache.kerberos.kerb.common.KrbStreamingDecoder;
 import org.apache.kerberos.kerb.identity.IdentityService;
-import org.apache.haox.transport.Acceptor;
-import org.apache.haox.transport.tcp.TcpAcceptor;
+import org.apache.haox.transport.Network;
 
 import java.io.File;
 
 public class KdcServer {
     private String kdcHost;
-    private short kdcPort;
+    private short kdcTcpPort;
+    private short kdcUdpPort;
     private String kdcRealm;
 
     private boolean started;
@@ -91,19 +91,30 @@ public class KdcServer {
         return kdcConfig.getKdcHost();
     }
 
-    private short getKdcPort() {
-        if (kdcPort > 0) {
-            return kdcPort;
+    private short getKdcTcpPort() {
+        if (kdcTcpPort > 0) {
+            return kdcTcpPort;
         }
-        return kdcConfig.getKdcPort();
+        return kdcConfig.getKdcTcpPort();
+    }
+
+    private short getKdcUdpPort() {
+        if (kdcUdpPort > 0) {
+            return kdcUdpPort;
+        }
+        return kdcConfig.getKdcUdpPort();
     }
 
     public void setKdcHost(String kdcHost) {
         this.kdcHost = kdcHost;
     }
 
-    public void setKdcPort(short kdcPort) {
-        this.kdcPort = kdcPort;
+    public void setKdcTcpPort(short kdcTcpPort) {
+        this.kdcTcpPort = kdcTcpPort;
+    }
+
+    public void setKdcUdpPort(short kdcUdpPort) {
+        this.kdcUdpPort = kdcUdpPort;
     }
 
     public void setKdcRealm(String realm) {
@@ -121,11 +132,13 @@ public class KdcServer {
 
         eventHub.register(kdcHandler);
 
-        Acceptor acceptor = new TcpAcceptor(new KrbStreamingDecoder());
-        eventHub.register(acceptor);
+        Network network = new Network();
+        network.setStreamingDecoder(new KrbStreamingDecoder());
+        eventHub.register(network);
 
         eventHub.start();
-        acceptor.listen(getKdcHost(), getKdcPort());
+        network.tcpListen(getKdcHost(), getKdcTcpPort());
+        network.udpListen(getKdcHost(), getKdcUdpPort());
     }
 
     private void prepareHandler() {

http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/0286d930/haox-kerb/kerb-server/src/test/java/org/apache/kerberos/kerb/server/KdcTest.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-server/src/test/java/org/apache/kerberos/kerb/server/KdcTest.java b/haox-kerb/kerb-server/src/test/java/org/apache/kerberos/kerb/server/KdcTest.java
index eeb06dd..ebab9df 100644
--- a/haox-kerb/kerb-server/src/test/java/org/apache/kerberos/kerb/server/KdcTest.java
+++ b/haox-kerb/kerb-server/src/test/java/org/apache/kerberos/kerb/server/KdcTest.java
@@ -40,7 +40,7 @@ public class KdcTest {
     public void setUp() throws Exception {
         kdcServer = new SimpleKdcServer();
         kdcServer.setKdcHost(serverHost);
-        kdcServer.setKdcPort(serverPort);
+        kdcServer.setKdcTcpPort(serverPort);
         kdcServer.init();
         kdcServer.start();
     }