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/04/06 00:36:58 UTC

directory-kerby git commit: Allowing KrbClient to retrieve combined settings from options and configs

Repository: directory-kerby
Updated Branches:
  refs/heads/master 2cf323e65 -> 26f10368a


Allowing KrbClient to retrieve combined settings from options and configs


Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/26f10368
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/26f10368
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/26f10368

Branch: refs/heads/master
Commit: 26f10368a5262c4cd5642ddfc368ae28cf36dad4
Parents: 2cf323e
Author: Drankye <dr...@gmail.com>
Authored: Mon Apr 6 06:36:29 2015 +0800
Committer: Drankye <dr...@gmail.com>
Committed: Mon Apr 6 06:36:29 2015 +0800

----------------------------------------------------------------------
 .../kerby/kerberos/kerb/client/KrbClient.java   |  12 +++
 .../kerby/kerberos/kerb/client/KrbSetting.java  |  75 ++++++++++++++
 .../client/impl/AbstractInternalKrbClient.java  |  99 ++++++------------
 .../kerb/client/impl/InternalKrbClient.java     |   7 ++
 .../impl/blocking/BlockModeKrbClient.java       |   9 +-
 .../client/impl/event/EventBasedKrbClient.java  |  13 +--
 .../kerby/kerberos/kerb/server/KdcServer.java   |  13 ++-
 .../server/impl/AbstractInternalKdcServer.java  |  12 +--
 .../kerb/server/impl/InternalKdcServer.java     |   2 +-
 .../server/impl/event/EventBasedKdcServer.java  |  16 +--
 .../kerb/server/impl/event/EventKdcHandler.java | 101 +++++++++++++++++++
 .../kerb/server/impl/event/KdcHandler.java      | 101 -------------------
 12 files changed, 260 insertions(+), 200 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/26f10368/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbClient.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbClient.java b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbClient.java
index 67bc7d7..c7cb0a0 100644
--- a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbClient.java
+++ b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbClient.java
@@ -134,6 +134,18 @@ public class KrbClient {
     }
 
     /**
+     * Get krb client settings from options and configs.
+     * Note it must be called after init().
+     * @return setting
+     */
+    public KrbSetting getSetting() {
+        if (innerClient == null) {
+            throw new RuntimeException("Not init yet");
+        }
+        return innerClient.getSetting();
+    }
+
+    /**
      * Request a TGT with user plain credential
      * @param principal
      * @param password

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/26f10368/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbSetting.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbSetting.java b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbSetting.java
new file mode 100644
index 0000000..6dcf205
--- /dev/null
+++ b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbSetting.java
@@ -0,0 +1,75 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *  
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License. 
+ *  
+ */
+package org.apache.kerby.kerberos.kerb.client;
+
+import org.apache.kerby.KOptions;
+
+/**
+ * Krb client setting that combines common options and client config.
+ */
+public class KrbSetting {
+    private final KOptions commonOptions;
+    private final KrbConfig krbConfig;
+
+    public KrbSetting(KOptions commonOptions, KrbConfig config) {
+        this.commonOptions = commonOptions;
+        this.krbConfig = config;
+    }
+
+    public String getKdcHost() {
+        String kdcHost = commonOptions.getStringOption(KrbOption.KDC_HOST);
+        if (kdcHost == null) {
+            return krbConfig.getKdcHost();
+        }
+        return kdcHost;
+    }
+
+    public int getKdcTcpPort() {
+        int tcpPort = commonOptions.getIntegerOption(KrbOption.KDC_TCP_PORT);
+        if (tcpPort > 0) {
+            return tcpPort;
+        }
+        return krbConfig.getKdcTcpPort();
+    }
+
+    public boolean allowUdp() {
+        Boolean allowUdp = commonOptions.getBooleanOption(KrbOption.ALLOW_UDP);
+        if (allowUdp != null) {
+            return allowUdp;
+        }
+        return krbConfig.allowKdcUdp();
+    }
+
+    public int getKdcUdpPort() {
+        int udpPort = commonOptions.getIntegerOption(KrbOption.KDC_UDP_PORT);
+        if (udpPort > 0) {
+            return udpPort;
+        }
+        return krbConfig.getKdcUdpPort();
+    }
+
+    public int getTimeout() {
+        int timeout = commonOptions.getIntegerOption(KrbOption.CONN_TIMEOUT);
+        if (timeout > 0) {
+            return timeout;
+        }
+        return 1000; // by default
+    }
+}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/26f10368/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/AbstractInternalKrbClient.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/AbstractInternalKrbClient.java b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/AbstractInternalKrbClient.java
index c316b15..97f498b 100644
--- a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/AbstractInternalKrbClient.java
+++ b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/AbstractInternalKrbClient.java
@@ -24,6 +24,7 @@ import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.kerberos.kerb.client.KrbConfig;
 import org.apache.kerby.kerberos.kerb.client.KrbContext;
 import org.apache.kerby.kerberos.kerb.client.KrbOption;
+import org.apache.kerby.kerberos.kerb.client.KrbSetting;
 import org.apache.kerby.kerberos.kerb.client.request.*;
 import org.apache.kerby.kerberos.kerb.spec.base.AuthToken;
 import org.apache.kerby.kerberos.kerb.spec.base.PrincipalName;
@@ -39,94 +40,52 @@ import java.io.IOException;
 public abstract class AbstractInternalKrbClient implements InternalKrbClient {
     private KrbContext context;
     private KrbConfig krbConfig;
-    private KOptions commonOptions;
+    private KrbSetting krbSetting;
 
     protected KrbContext getContext() {
         return context;
     }
 
-    /**
-     * Prepare krb config, loading krb5.conf.
-     * It can be override to add more configuration resources.
-     *
-     * @throws java.io.IOException
-     */
-    protected void initConfig() throws IOException {
-        this.krbConfig = (KrbConfig) commonOptions.getOptionValue(KrbOption.KRB_CONFIG);
-        if (krbConfig == null) {
-            krbConfig = new KrbConfig();
-        }
-
-        File confDir = getConfDir();
-        if (confDir == null) {
-            confDir = new File("/etc/"); // for Linux. TODO: fix for Win etc.
-        }
-        if (confDir != null && confDir.exists()) {
-            File kdcConfFile = new File(confDir, "krb5.conf");
-            if (kdcConfFile.exists()) {
-                krbConfig.addIniConfig(kdcConfFile);
-            }
-        }
-    }
-
-    protected File getConfDir() {
-        return  commonOptions.getDirOption(KrbOption.CONF_DIR);
-    }
-
-    protected String getKdcHost() {
-        String kdcHost = commonOptions.getStringOption(KrbOption.KDC_HOST);
-        if (kdcHost == null) {
-            return krbConfig.getKdcHost();
-        }
-        return kdcHost;
-    }
-
-    protected int getKdcTcpPort() {
-        int tcpPort = commonOptions.getIntegerOption(KrbOption.KDC_TCP_PORT);
-        if (tcpPort > 0) {
-            return tcpPort;
-        }
-        return krbConfig.getKdcTcpPort();
-    }
-
-    protected boolean allowUdp() {
-        Boolean allowUdp = commonOptions.getBooleanOption(KrbOption.ALLOW_UDP);
-        if (allowUdp != null) {
-            return allowUdp;
-        }
-        return krbConfig.allowKdcUdp();
-    }
-
-    protected int getKdcUdpPort() {
-        int udpPort = commonOptions.getIntegerOption(KrbOption.KDC_UDP_PORT);
-        if (udpPort > 0) {
-            return udpPort;
-        }
-        return krbConfig.getKdcUdpPort();
-    }
-
-    protected int getTimeout() {
-        int timeout = commonOptions.getIntegerOption(KrbOption.CONN_TIMEOUT);
-        if (timeout > 0) {
-            return timeout;
-        }
-        return 1000; // by default
+    @Override
+    public KrbSetting getSetting() {
+        return krbSetting;
     }
 
     @Override
     public void init(KOptions commonOptions) throws KrbException {
-        this.commonOptions = commonOptions;
 
         try {
-            initConfig();
+            initConfig(commonOptions);
         } catch (IOException e) {
             throw new RuntimeException("Failed to load config", e);
         }
 
-        this.context = new KrbContext();
+        krbSetting = new KrbSetting(commonOptions, krbConfig);
+        context = new KrbContext();
         context.init(krbConfig);
     }
 
+    /**
+     * Prepare krb config, loading krb5.conf if necessary.
+     */
+    private void initConfig(KOptions commonOptions) throws IOException {
+        krbConfig = (KrbConfig) commonOptions.getOptionValue(KrbOption.KRB_CONFIG);
+        if (krbConfig == null) {
+            krbConfig = new KrbConfig();
+
+            File confDir = commonOptions.getDirOption(KrbOption.CONF_DIR);
+            if (confDir == null) {
+                confDir = new File("/etc/"); // for Linux. TODO: fix for Win etc.
+            }
+            if (confDir != null && confDir.exists()) {
+                File kdcConfFile = new File(confDir, "krb5.conf");
+                if (kdcConfFile.exists()) {
+                    krbConfig.addIniConfig(kdcConfFile);
+                }
+            }
+        }
+    }
+
     @Override
     public TgtTicket requestTgtTicket(KOptions requestOptions) throws KrbException {
         AsRequest asRequest = null;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/26f10368/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/InternalKrbClient.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/InternalKrbClient.java b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/InternalKrbClient.java
index 89ef8ac..4dcf50e 100644
--- a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/InternalKrbClient.java
+++ b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/InternalKrbClient.java
@@ -21,6 +21,7 @@ package org.apache.kerby.kerberos.kerb.client.impl;
 
 import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.KOptions;
+import org.apache.kerby.kerberos.kerb.client.KrbSetting;
 import org.apache.kerby.kerberos.kerb.spec.base.AuthToken;
 import org.apache.kerby.kerberos.kerb.spec.ticket.ServiceTicket;
 import org.apache.kerby.kerberos.kerb.spec.ticket.TgtTicket;
@@ -37,6 +38,12 @@ public interface InternalKrbClient {
     public void init(KOptions options) throws KrbException;
 
     /**
+     * Get krb client settings.
+     * @return setting
+     */
+    public KrbSetting getSetting();
+
+    /**
      * Request a Ticket Granting Ticket.
      * @param requestOptions
      * @return a TGT

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/26f10368/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/blocking/BlockModeKrbClient.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/blocking/BlockModeKrbClient.java b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/blocking/BlockModeKrbClient.java
index db32186..9eabd92 100644
--- a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/blocking/BlockModeKrbClient.java
+++ b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/blocking/BlockModeKrbClient.java
@@ -21,7 +21,6 @@ package org.apache.kerby.kerberos.kerb.client.impl.blocking;
 
 import org.apache.kerby.KOptions;
 import org.apache.kerby.kerberos.kerb.KrbException;
-import org.apache.kerby.kerberos.kerb.client.KrbConfig;
 import org.apache.kerby.kerberos.kerb.client.impl.AbstractInternalKrbClient;
 import org.apache.kerby.kerberos.kerb.client.request.AsRequest;
 import org.apache.kerby.kerberos.kerb.client.request.TgsRequest;
@@ -48,9 +47,11 @@ public class BlockModeKrbClient extends AbstractInternalKrbClient {
         krbHandler.init(getContext());
 
         InetSocketAddress tcpAddress, udpAddress = null;
-        tcpAddress=  new InetSocketAddress(getKdcHost(), getKdcTcpPort());
-        if (allowUdp()) {
-            udpAddress = new InetSocketAddress(getKdcHost(), getKdcUdpPort());
+        tcpAddress=  new InetSocketAddress(getSetting().getKdcHost(),
+                getSetting().getKdcTcpPort());
+        if (getSetting().allowUdp()) {
+            udpAddress = new InetSocketAddress(getSetting().getKdcHost(),
+                    getSetting().getKdcUdpPort());
         }
         try {
             transport = new KrbCombinedTransport(tcpAddress, udpAddress);

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/26f10368/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/event/EventBasedKrbClient.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/event/EventBasedKrbClient.java b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/event/EventBasedKrbClient.java
index 8c3cdbd..a2b9b69 100644
--- a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/event/EventBasedKrbClient.java
+++ b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/impl/event/EventBasedKrbClient.java
@@ -24,7 +24,6 @@ import org.apache.kerby.event.Event;
 import org.apache.kerby.event.EventHub;
 import org.apache.kerby.event.EventWaiter;
 import org.apache.kerby.kerberos.kerb.KrbException;
-import org.apache.kerby.kerberos.kerb.client.KrbConfig;
 import org.apache.kerby.kerberos.kerb.client.impl.AbstractInternalKrbClient;
 import org.apache.kerby.kerberos.kerb.client.request.AsRequest;
 import org.apache.kerby.kerberos.kerb.client.request.TgsRequest;
@@ -75,9 +74,11 @@ public class EventBasedKrbClient extends AbstractInternalKrbClient {
 
         eventHub.start();
 
-        network.tcpConnect(getKdcHost(), getKdcTcpPort());
-        if (allowUdp()) {
-            network.udpConnect(getKdcHost(), getKdcUdpPort());
+        network.tcpConnect(getSetting().getKdcHost(),
+                getSetting().getKdcTcpPort());
+        if (getSetting().allowUdp()) {
+            network.udpConnect(getSetting().getKdcHost(),
+                    getSetting().getKdcUdpPort());
         }
         final Event event = eventWaiter.waitEvent(TransportEventType.NEW_TRANSPORT);
         eventTransport = ((TransportEvent) event).getTransport();
@@ -113,7 +114,7 @@ public class EventBasedKrbClient extends AbstractInternalKrbClient {
         Event resultEvent;
         try {
             resultEvent = eventWaiter.waitEvent(KrbClientEventType.TGT_RESULT,
-                    getTimeout(), TimeUnit.SECONDS);
+                    getSetting().getTimeout(), TimeUnit.SECONDS);
         } catch (TimeoutException e) {
             throw new KrbException("Network timeout", e);
         }
@@ -130,7 +131,7 @@ public class EventBasedKrbClient extends AbstractInternalKrbClient {
         Event resultEvent;
         try {
             resultEvent = eventWaiter.waitEvent(KrbClientEventType.TKT_RESULT,
-                    getTimeout(), TimeUnit.SECONDS);
+                    getSetting().getTimeout(), TimeUnit.SECONDS);
         } catch (TimeoutException e) {
             throw new KrbException("Network timeout", e);
         }

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/26f10368/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcServer.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcServer.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcServer.java
index bf98f03..acf2daa 100644
--- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcServer.java
+++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcServer.java
@@ -126,11 +126,15 @@ public class KdcServer {
     }
 
     /**
-     * Get KDC setting.
+     * Get KDC setting from startup options and configs.
+     * Note it must be called after init().
      * @return setting
      */
-    public KdcSetting getKdcSetting() {
-        return innerKdc.getKdcSetting();
+    public KdcSetting getSetting() {
+        if (innerKdc == null) {
+            throw new RuntimeException("Not init yet");
+        }
+        return innerKdc.getSetting();
     }
 
     /**
@@ -138,6 +142,9 @@ public class KdcServer {
      * @return IdentityService
      */
     public IdentityService getIdentityService() {
+        if (innerKdc == null) {
+            throw new RuntimeException("Not init yet");
+        }
         return innerKdc.getIdentityService();
     }
 

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/26f10368/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/AbstractInternalKdcServer.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/AbstractInternalKdcServer.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/AbstractInternalKdcServer.java
index 53a285a..f861cbb 100644
--- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/AbstractInternalKdcServer.java
+++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/AbstractInternalKdcServer.java
@@ -42,7 +42,7 @@ public class AbstractInternalKdcServer implements InternalKdcServer {
     private IdentityBackend backend;
 
     @Override
-    public KdcSetting getKdcSetting() {
+    public KdcSetting getSetting() {
         return kdcSetting;
     }
 
@@ -66,7 +66,7 @@ public class AbstractInternalKdcServer implements InternalKdcServer {
             throw new RuntimeException("Failed to load configurations", e);
         }
 
-        this.kdcSetting = new KdcSetting(startupOptions, kdcConfig);
+        kdcSetting = new KdcSetting(startupOptions, kdcConfig);
 
         initBackend();
     }
@@ -74,15 +74,13 @@ public class AbstractInternalKdcServer implements InternalKdcServer {
     /**
      * Prepare kdc and backend config, loading kdc.conf and backend.conf.
      * It can be override to add more configuration resources.
-     *
-     * @throws java.io.IOException
      */
     private void initConfig(KOptions startupOptions) throws IOException {
         if (startupOptions.contains(KdcServerOption.KDC_CONFIG)) {
-            this.kdcConfig = (KdcConfig) startupOptions.getOptionValue(
+            kdcConfig = (KdcConfig) startupOptions.getOptionValue(
                     KdcServerOption.KDC_CONFIG);
         } else {
-            this.kdcConfig = new KdcConfig();
+            kdcConfig = new KdcConfig();
             File confDir = startupOptions.getDirOption(KdcServerOption.CONF_DIR);
             if (confDir != null && confDir.exists()) {
                 File kdcConfFile = new File(confDir, "kdc.conf");
@@ -93,7 +91,7 @@ public class AbstractInternalKdcServer implements InternalKdcServer {
         }
 
         if (startupOptions.contains(KdcServerOption.BACKEND_CONFIG)) {
-            this.backendConfig = (BackendConfig) startupOptions.getOptionValue(
+            backendConfig = (BackendConfig) startupOptions.getOptionValue(
                     KdcServerOption.BACKEND_CONFIG);
         } else {
             backendConfig = new BackendConfig();

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/26f10368/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/InternalKdcServer.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/InternalKdcServer.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/InternalKdcServer.java
index 349d8c2..92d3450 100644
--- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/InternalKdcServer.java
+++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/InternalKdcServer.java
@@ -49,7 +49,7 @@ public interface InternalKdcServer {
      * Get KDC setting.
      * @return setting
      */
-    public KdcSetting getKdcSetting();
+    public KdcSetting getSetting();
 
     /**
      * Get identity service.

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/26f10368/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/event/EventBasedKdcServer.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/event/EventBasedKdcServer.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/event/EventBasedKdcServer.java
index 8b50b73..a39a34b 100644
--- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/event/EventBasedKdcServer.java
+++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/event/EventBasedKdcServer.java
@@ -31,7 +31,7 @@ import org.apache.kerby.transport.Network;
  */
 public class EventBasedKdcServer extends AbstractInternalKdcServer {
 
-    private KdcHandler kdcHandler;
+    private EventKdcHandler kdcHandler;
     private EventHub eventHub;
 
     @Override
@@ -49,22 +49,22 @@ public class EventBasedKdcServer extends AbstractInternalKdcServer {
         eventHub.register(network);
 
         eventHub.start();
-        network.tcpListen(getKdcSetting().getKdcHost(),
-                getKdcSetting().getKdcTcpPort());
-        if (getKdcSetting().allowUdp()) {
-            network.udpListen(getKdcSetting().getKdcHost(),
-                    getKdcSetting().getKdcUdpPort());
+        network.tcpListen(getSetting().getKdcHost(),
+                getSetting().getKdcTcpPort());
+        if (getSetting().allowUdp()) {
+            network.udpListen(getSetting().getKdcHost(),
+                    getSetting().getKdcUdpPort());
         }
     }
 
     private void prepareHandler() {
-        KdcContext kdcContext = new KdcContext(getKdcSetting());
+        KdcContext kdcContext = new KdcContext(getSetting());
         kdcContext.setIdentityService(getBackend());
         PreauthHandler preauthHandler = new PreauthHandler();
         preauthHandler.init(kdcContext.getConfig());
         kdcContext.setPreauthHandler(preauthHandler);
 
-        this.kdcHandler = new KdcHandler(kdcContext);
+        this.kdcHandler = new EventKdcHandler(kdcContext);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/26f10368/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/event/EventKdcHandler.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/event/EventKdcHandler.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/event/EventKdcHandler.java
new file mode 100644
index 0000000..94f24e5
--- /dev/null
+++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/event/EventKdcHandler.java
@@ -0,0 +1,101 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *  
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License. 
+ *  
+ */
+package org.apache.kerby.kerberos.kerb.server.impl.event;
+
+import org.apache.kerby.kerberos.kerb.KrbException;
+import org.apache.kerby.kerberos.kerb.common.KrbUtil;
+import org.apache.kerby.kerberos.kerb.server.KdcContext;
+import org.apache.kerby.kerberos.kerb.server.request.AsRequest;
+import org.apache.kerby.kerberos.kerb.server.request.KdcRequest;
+import org.apache.kerby.kerberos.kerb.server.request.TgsRequest;
+import org.apache.kerby.kerberos.kerb.spec.base.KrbMessage;
+import org.apache.kerby.kerberos.kerb.spec.base.KrbMessageType;
+import org.apache.kerby.kerberos.kerb.spec.kdc.AsReq;
+import org.apache.kerby.kerberos.kerb.spec.kdc.KdcReq;
+import org.apache.kerby.kerberos.kerb.spec.kdc.TgsReq;
+import org.apache.kerby.transport.MessageHandler;
+import org.apache.kerby.transport.Transport;
+import org.apache.kerby.transport.event.MessageEvent;
+import org.apache.kerby.transport.tcp.TcpTransport;
+
+import java.net.InetSocketAddress;
+import java.nio.ByteBuffer;
+
+/**
+ * KDC handler to process client requests. Currently only one realm is supported.
+ */
+public class EventKdcHandler extends MessageHandler {
+
+    private final KdcContext kdcContext;
+
+    public EventKdcHandler(KdcContext kdcContext) {
+        this.kdcContext = kdcContext;
+    }
+
+    @Override
+    protected void handleMessage(MessageEvent event) throws Exception {
+        ByteBuffer message = event.getMessage();
+        Transport transport = event.getTransport();
+
+        KrbMessage krbRequest = KrbUtil.decodeMessageOld(message);
+        KdcRequest kdcRequest = null;
+
+        KrbMessageType messageType = krbRequest.getMsgType();
+        if (messageType == KrbMessageType.TGS_REQ || messageType
+                == KrbMessageType.AS_REQ) {
+            KdcReq kdcReq = (KdcReq) krbRequest;
+            String realm = getRequestRealm(kdcReq);
+            if (realm == null || ! kdcContext.getKdcRealm().equals(realm)) {
+                throw new KrbException("Invalid realm from kdc request: " + realm);
+            }
+
+            if (messageType == KrbMessageType.TGS_REQ) {
+                kdcRequest = new TgsRequest((TgsReq) kdcReq, kdcContext);
+            } else if (messageType == KrbMessageType.AS_REQ) {
+                kdcRequest = new AsRequest((AsReq) kdcReq, kdcContext);
+            }
+        }
+
+        InetSocketAddress clientAddress = transport.getRemoteAddress();
+        kdcRequest.setClientAddress(clientAddress.getAddress());
+        boolean isTcp = (transport instanceof TcpTransport);
+        kdcRequest.isTcp(isTcp);
+
+        try {
+            kdcRequest.process();
+
+            KrbMessage krbResponse = kdcRequest.getReply();
+            KrbUtil.sendMessageOld(krbResponse, transport);
+        } catch (Exception e) {
+            //TODO: log the error
+            System.out.println("Error occured while processing request:"
+                    + e.getMessage());
+        }
+    }
+
+    private String getRequestRealm(KdcReq kdcReq) {
+        String realm = kdcReq.getReqBody().getRealm();
+        if (realm == null && kdcReq.getReqBody().getCname() != null) {
+            realm = kdcReq.getReqBody().getCname().getRealm();
+        }
+
+        return realm;
+    }
+}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/26f10368/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/event/KdcHandler.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/event/KdcHandler.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/event/KdcHandler.java
deleted file mode 100644
index b4f6670..0000000
--- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/event/KdcHandler.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *  
- *    http://www.apache.org/licenses/LICENSE-2.0
- *  
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.server.impl.event;
-
-import org.apache.kerby.kerberos.kerb.KrbException;
-import org.apache.kerby.kerberos.kerb.common.KrbUtil;
-import org.apache.kerby.kerberos.kerb.server.KdcContext;
-import org.apache.kerby.kerberos.kerb.server.request.AsRequest;
-import org.apache.kerby.kerberos.kerb.server.request.KdcRequest;
-import org.apache.kerby.kerberos.kerb.server.request.TgsRequest;
-import org.apache.kerby.kerberos.kerb.spec.base.KrbMessage;
-import org.apache.kerby.kerberos.kerb.spec.base.KrbMessageType;
-import org.apache.kerby.kerberos.kerb.spec.kdc.AsReq;
-import org.apache.kerby.kerberos.kerb.spec.kdc.KdcReq;
-import org.apache.kerby.kerberos.kerb.spec.kdc.TgsReq;
-import org.apache.kerby.transport.MessageHandler;
-import org.apache.kerby.transport.Transport;
-import org.apache.kerby.transport.event.MessageEvent;
-import org.apache.kerby.transport.tcp.TcpTransport;
-
-import java.net.InetSocketAddress;
-import java.nio.ByteBuffer;
-
-/**
- * KDC handler to process client requests. Currently only one realm is supported.
- */
-public class KdcHandler extends MessageHandler {
-
-    private final KdcContext kdcContext;
-
-    public KdcHandler(KdcContext kdcContext) {
-        this.kdcContext = kdcContext;
-    }
-
-    @Override
-    protected void handleMessage(MessageEvent event) throws Exception {
-        ByteBuffer message = event.getMessage();
-        Transport transport = event.getTransport();
-
-        KrbMessage krbRequest = KrbUtil.decodeMessageOld(message);
-        KdcRequest kdcRequest = null;
-
-        KrbMessageType messageType = krbRequest.getMsgType();
-        if (messageType == KrbMessageType.TGS_REQ || messageType
-                == KrbMessageType.AS_REQ) {
-            KdcReq kdcReq = (KdcReq) krbRequest;
-            String realm = getRequestRealm(kdcReq);
-            if (realm == null || ! kdcContext.getKdcRealm().equals(realm)) {
-                throw new KrbException("Invalid realm from kdc request: " + realm);
-            }
-
-            if (messageType == KrbMessageType.TGS_REQ) {
-                kdcRequest = new TgsRequest((TgsReq) kdcReq, kdcContext);
-            } else if (messageType == KrbMessageType.AS_REQ) {
-                kdcRequest = new AsRequest((AsReq) kdcReq, kdcContext);
-            }
-        }
-
-        InetSocketAddress clientAddress = transport.getRemoteAddress();
-        kdcRequest.setClientAddress(clientAddress.getAddress());
-        boolean isTcp = (transport instanceof TcpTransport);
-        kdcRequest.isTcp(isTcp);
-
-        try {
-            kdcRequest.process();
-
-            KrbMessage krbResponse = kdcRequest.getReply();
-            KrbUtil.sendMessageOld(krbResponse, transport);
-        } catch (Exception e) {
-            //TODO: log the error
-            System.out.println("Error occured while processing request:"
-                    + e.getMessage());
-        }
-    }
-
-    private String getRequestRealm(KdcReq kdcReq) {
-        String realm = kdcReq.getReqBody().getRealm();
-        if (realm == null && kdcReq.getReqBody().getCname() != null) {
-            realm = kdcReq.getReqBody().getCname().getRealm();
-        }
-
-        return realm;
-    }
-}