You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pl...@apache.org on 2017/11/27 01:37:22 UTC

[1/3] directory-kerby git commit: Changes to prevent circular reference between kerb-kore and kerb-identity.

Repository: directory-kerby
Updated Branches:
  refs/heads/has-project be5805660 -> 438904f7e


Changes to prevent circular reference between kerb-kore and kerb-identity.

Signed-off-by: Colm O hEigeartaigh <co...@apache.org>


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

Branch: refs/heads/has-project
Commit: b5b538f79764a9b4a397a74c8ce74723cb76bf21
Parents: 1e6d364
Author: gg@localhost <gg...@localhost>
Authored: Wed Nov 15 12:07:46 2017 -0700
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Fri Nov 17 09:58:08 2017 +0000

----------------------------------------------------------------------
 .../identitybackend/JsonIdentityBackend.java    |   2 +-
 .../identitybackend/LdapIdentityBackend.java    |   2 +-
 .../org/apache/kerby/KrbIdentityComparator.java |   2 +-
 .../org/apache/kerby/KrbIdentitySerializer.java |   2 +-
 .../java/org/apache/kerby/MavibotBackend.java   |   2 +-
 .../apache/kerby/KrbIdentitySerializerTest.java |   2 +-
 .../org/apache/kerby/MavibotBackendTest.java    |   2 +-
 .../ZookeeperIdentityBackend.java               |   2 +-
 .../kerb/admin/kadmin/local/AdminHelper.java    |   2 +-
 .../kerb/admin/kadmin/local/LocalKadmin.java    |   2 +-
 .../admin/kadmin/local/LocalKadminImpl.java     |   2 +-
 .../kerberos/kerb/request/KdcClientRequest.java | 219 +++++++++++++++++++
 .../kerberos/kerb/request/KrbIdentity.java      | 188 ++++++++++++++++
 .../kerb/type/kdc/KdcClientRequest.java         | 117 ----------
 .../kerb/identity/backend/BackendTest.java      |   2 +-
 .../kerb/identity/backend/BackendTestUtil.java  |   2 +-
 kerby-kerb/kerb-identity/pom.xml                |   5 +
 .../kerberos/kerb/identity/BatchTrans.java      |   1 +
 .../kerb/identity/CacheableIdentityService.java |   3 +-
 .../kerberos/kerb/identity/IdentityService.java |   3 +-
 .../kerberos/kerb/identity/KrbIdentity.java     | 181 ---------------
 .../backend/AbstractIdentityBackend.java        |   4 +-
 .../identity/backend/MemoryIdentityBackend.java |   2 +-
 .../kerberos/kerb/server/request/AsRequest.java |   2 +-
 .../kerb/server/request/KdcRequest.java         |   2 +-
 .../kerb/server/request/TgsRequest.java         |   2 +-
 .../kerb/server/request/TicketIssuer.java       |  20 +-
 .../kadmin/command/GetPrincipalCommand.java     |   2 +-
 28 files changed, 455 insertions(+), 322 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java b/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java
index 3908cc5..f6dc62d 100644
--- a/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java
+++ b/kerby-backend/json-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/JsonIdentityBackend.java
@@ -28,8 +28,8 @@ import org.apache.kerby.kerberos.kdc.identitybackend.typeAdapter.KerberosTimeAda
 import org.apache.kerby.kerberos.kdc.identitybackend.typeAdapter.PrincipalNameAdapter;
 import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.kerberos.kerb.identity.BatchTrans;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.identity.backend.AbstractIdentityBackend;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.KerberosTime;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
 import org.apache.kerby.kerberos.kerb.type.base.PrincipalName;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java b/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java
index 1e087a9..d5b090b 100644
--- a/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java
+++ b/kerby-backend/ldap-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/LdapIdentityBackend.java
@@ -36,8 +36,8 @@ import org.apache.directory.ldap.client.api.LdapNetworkConnection;
 import org.apache.directory.shared.kerberos.KerberosAttribute;
 import org.apache.kerby.config.Config;
 import org.apache.kerby.kerberos.kerb.KrbException;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.identity.backend.AbstractIdentityBackend;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.KerberosTime;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/KrbIdentityComparator.java
----------------------------------------------------------------------
diff --git a/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/KrbIdentityComparator.java b/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/KrbIdentityComparator.java
index bce3033..b768fe5 100644
--- a/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/KrbIdentityComparator.java
+++ b/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/KrbIdentityComparator.java
@@ -21,7 +21,7 @@ package org.apache.kerby;
 
 import java.util.Comparator;
 
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 
 /**
  * Comparator for KrbIdentity

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/KrbIdentitySerializer.java
----------------------------------------------------------------------
diff --git a/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/KrbIdentitySerializer.java b/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/KrbIdentitySerializer.java
index dc3df02..8fb3a8c 100644
--- a/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/KrbIdentitySerializer.java
+++ b/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/KrbIdentitySerializer.java
@@ -24,7 +24,7 @@ import org.apache.directory.mavibot.btree.serializer.ElementSerializer;
 import org.apache.directory.mavibot.btree.serializer.IntSerializer;
 import org.apache.directory.mavibot.btree.serializer.LongSerializer;
 import org.apache.directory.mavibot.btree.serializer.StringSerializer;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.KerberosTime;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/MavibotBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/MavibotBackend.java b/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/MavibotBackend.java
index 7c31617..9711a54 100644
--- a/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/MavibotBackend.java
+++ b/kerby-backend/mavibot-backend/src/main/java/org/apache/kerby/MavibotBackend.java
@@ -29,8 +29,8 @@ import org.apache.directory.mavibot.btree.Tuple;
 import org.apache.directory.mavibot.btree.exception.KeyNotFoundException;
 import org.apache.directory.mavibot.btree.serializer.StringSerializer;
 import org.apache.kerby.kerberos.kerb.KrbException;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.identity.backend.AbstractIdentityBackend;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/KrbIdentitySerializerTest.java
----------------------------------------------------------------------
diff --git a/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/KrbIdentitySerializerTest.java b/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/KrbIdentitySerializerTest.java
index 4c82bfb..6248355 100644
--- a/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/KrbIdentitySerializerTest.java
+++ b/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/KrbIdentitySerializerTest.java
@@ -19,7 +19,7 @@
  */
 package org.apache.kerby;
 
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.KerberosTime;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/MavibotBackendTest.java
----------------------------------------------------------------------
diff --git a/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/MavibotBackendTest.java b/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/MavibotBackendTest.java
index 6fa17dc..14cf8df 100644
--- a/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/MavibotBackendTest.java
+++ b/kerby-backend/mavibot-backend/src/test/java/org/apache/kerby/MavibotBackendTest.java
@@ -21,10 +21,10 @@ package org.apache.kerby;
 
 
 import org.apache.kerby.kerberos.kerb.KrbException;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.identity.backend.BackendTestBase;
 import org.apache.kerby.kerberos.kerb.identity.backend.BackendTestUtil;
 import org.apache.kerby.kerberos.kerb.identity.backend.IdentityBackend;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.rules.TemporaryFolder;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
index ce82330..fe34da2 100644
--- a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
+++ b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZookeeperIdentityBackend.java
@@ -21,8 +21,8 @@ package org.apache.kerby.kerberos.kdc.identitybackend;
 
 import org.apache.kerby.config.Config;
 import org.apache.kerby.kerberos.kerb.KrbException;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.identity.backend.AbstractIdentityBackend;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/AdminHelper.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/AdminHelper.java b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/AdminHelper.java
index 3d8083e..a0ca3b0 100644
--- a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/AdminHelper.java
+++ b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/AdminHelper.java
@@ -24,9 +24,9 @@ import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.kerberos.kerb.admin.kadmin.KadminOption;
 import org.apache.kerby.kerberos.kerb.keytab.Keytab;
 import org.apache.kerby.kerberos.kerb.keytab.KeytabEntry;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.KerberosTime;
 import org.apache.kerby.kerberos.kerb.type.base.PrincipalName;
 

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/LocalKadmin.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/LocalKadmin.java b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/LocalKadmin.java
index 5fd2d0d..fd8aa34 100644
--- a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/LocalKadmin.java
+++ b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/LocalKadmin.java
@@ -21,9 +21,9 @@ package org.apache.kerby.kerberos.kerb.admin.kadmin.local;
 
 import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.kerberos.kerb.admin.kadmin.Kadmin;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.identity.backend.BackendConfig;
 import org.apache.kerby.kerberos.kerb.identity.backend.IdentityBackend;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.server.KdcConfig;
 
 /**

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/LocalKadminImpl.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/LocalKadminImpl.java b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/LocalKadminImpl.java
index eabf9ff..1f55345 100644
--- a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/LocalKadminImpl.java
+++ b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/kadmin/local/LocalKadminImpl.java
@@ -23,6 +23,7 @@ import org.apache.kerby.KOptions;
 import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.kerberos.kerb.identity.backend.IdentityBackend;
 import org.apache.kerby.kerberos.kerb.keytab.Keytab;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.server.KdcConfig;
 import org.apache.kerby.kerberos.kerb.server.KdcSetting;
 import org.apache.kerby.kerberos.kerb.server.KdcUtil;
@@ -30,7 +31,6 @@ import org.apache.kerby.kerberos.kerb.server.ServerSetting;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
 import org.apache.kerby.kerberos.kerb.common.EncryptionUtil;
 import org.apache.kerby.kerberos.kerb.common.KrbUtil;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.identity.backend.BackendConfig;
 import org.apache.kerby.kerberos.kerb.type.base.PrincipalName;
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/request/KdcClientRequest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/request/KdcClientRequest.java b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/request/KdcClientRequest.java
new file mode 100644
index 0000000..af8ae76
--- /dev/null
+++ b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/request/KdcClientRequest.java
@@ -0,0 +1,219 @@
+/**
+ *  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.request;
+
+import java.net.InetAddress;
+
+import org.apache.kerby.kerberos.kerb.type.base.AuthToken;
+import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
+import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;
+import org.apache.kerby.kerberos.kerb.type.base.KrbMessageType;
+import org.apache.kerby.kerberos.kerb.type.base.PrincipalName;
+import org.apache.kerby.kerberos.kerb.type.ticket.Ticket;
+
+/**
+ * This class holds details of the client request which is passed through to the IdentityService
+ * to create the AuthorizationData
+ */
+public class KdcClientRequest {
+
+    private KrbMessageType msgType;
+    private Ticket tgt;
+    private PrincipalName tgsName;
+    private EncryptionType tgsKeyType;
+    private EncryptionKey tgsKey;
+    private EncryptionKey tgsSessionKey;
+    private EncryptionKey tgsServerKey;
+    
+    private boolean isPreAuthenticated;
+    private InetAddress clientAddress;
+    private EncryptionType encryptionType;
+    private EncryptionKey clientKey;
+    private PrincipalName clientPrincipal;
+    private KrbIdentity clientEntry;
+    private PrincipalName serverPrincipal;
+    private KrbIdentity serverEntry;
+    private String kdcRealm;
+    private AuthToken token;
+    private boolean isToken;
+    private boolean isPkinit;
+    private boolean isAnonymous;
+
+    public KrbMessageType getMsgType() {
+        return msgType;
+    }
+
+    public void setMsgType(KrbMessageType msgType) {
+        this.msgType = msgType;
+    }
+
+    public Ticket getTgt() {
+        return tgt;
+    }
+
+    public void setTgt(Ticket tgt) {
+        this.tgt = tgt;
+    }
+
+    public PrincipalName getTgsName() {
+        return tgsName;
+    }
+
+    public void setTgsName(PrincipalName tgsName) {
+        this.tgsName = tgsName;
+    }
+
+    public EncryptionType getTgsKeyType() {
+        return tgsKeyType;
+    }
+
+    public void setTgsKeyType(EncryptionType tgsKeyType) {
+        this.tgsKeyType = tgsKeyType;
+    }
+
+    public EncryptionKey getTgsKey() {
+        return tgsKey;
+    }
+
+    public void setTgsKey(EncryptionKey tgsKey) {
+        this.tgsKey = tgsKey;
+    }
+
+    public String getKdcRealm() {
+        return kdcRealm;
+    }
+
+    public void setKdcRealm(String kdcRealm) {
+        this.kdcRealm = kdcRealm;
+    }
+
+    public EncryptionKey getTgsSessionKey() {
+        return tgsSessionKey;
+    }
+
+    public void setTgsSessionKey(EncryptionKey tgsSessionKey) {
+        this.tgsSessionKey = tgsSessionKey;
+    }
+
+    public EncryptionKey getTgsServerKey() {
+        return tgsServerKey;
+    }
+
+    public void setTgsServerKey(EncryptionKey tgsServerKey) {
+        this.tgsServerKey = tgsServerKey;
+    }
+
+    public KrbIdentity getClientEntry() {
+        return clientEntry;
+    }
+
+    public void setClientEntry(KrbIdentity clientEntry) {
+        this.clientEntry = clientEntry;
+    }
+
+    public KrbIdentity getServerEntry() {
+        return serverEntry;
+    }
+
+    public void setServerEntry(KrbIdentity serverEntry) {
+        this.serverEntry = serverEntry;
+    }
+
+    public boolean isPreAuthenticated() {
+        return isPreAuthenticated;
+    }
+
+    public void setPreAuthenticated(boolean isPreAuthenticated) {
+        this.isPreAuthenticated = isPreAuthenticated;
+    }
+
+    public InetAddress getClientAddress() {
+        return clientAddress;
+    }
+
+    public void setClientAddress(InetAddress clientAddress) {
+        this.clientAddress = clientAddress;
+    }
+
+    public EncryptionType getEncryptionType() {
+        return encryptionType;
+    }
+
+    public void setEncryptionType(EncryptionType encryptionType) {
+        this.encryptionType = encryptionType;
+    }
+
+    public EncryptionKey getClientKey() {
+        return clientKey;
+    }
+
+    public void setClientKey(EncryptionKey clientKey) {
+        this.clientKey = clientKey;
+    }
+
+    public PrincipalName getClientPrincipal() {
+        return clientPrincipal;
+    }
+
+    public void setClientPrincipal(PrincipalName clientPrincipal) {
+        this.clientPrincipal = clientPrincipal;
+    }
+
+    public PrincipalName getServerPrincipal() {
+        return serverPrincipal;
+    }
+
+    public void setServerPrincipal(PrincipalName serverPrincipal) {
+        this.serverPrincipal = serverPrincipal;
+    }
+
+    public AuthToken getToken() {
+        return token;
+    }
+
+    public void setToken(AuthToken token) {
+        this.token = token;
+    }
+
+    public boolean isToken() {
+        return isToken;
+    }
+
+    public void setIsToken(boolean isToken) {
+        this.isToken = isToken;
+    }
+
+    public boolean isPkinit() {
+        return isPkinit;
+    }
+
+    public void setPkinit(boolean isPkinit) {
+        this.isPkinit = isPkinit;
+    }
+
+    public boolean isAnonymous() {
+        return isAnonymous;
+    }
+
+    public void setAnonymous(boolean isAnonymous) {
+        this.isAnonymous = isAnonymous;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/request/KrbIdentity.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/request/KrbIdentity.java b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/request/KrbIdentity.java
new file mode 100644
index 0000000..f132ff6
--- /dev/null
+++ b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/request/KrbIdentity.java
@@ -0,0 +1,188 @@
+/*
+ *  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.request;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.kerby.kerberos.kerb.type.KerberosTime;
+import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
+import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;
+import org.apache.kerby.kerberos.kerb.type.base.PrincipalName;
+
+
+/**
+ *
+ * A class to represent a kerberos identity.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class KrbIdentity {
+    /** the principal */
+    private PrincipalName principal;
+
+    /** the key version */
+    private int keyVersion  = 1;
+
+    /** KDC flags */
+    private int kdcFlags    = 0;
+
+    /** flag to indicate if this identity was disabled */
+    private boolean disabled;
+
+    /** flag to indicate if this identity was locked */
+    private boolean locked;
+
+    /** the expiration time of the identity, default set to never expire */
+    private KerberosTime expireTime  = KerberosTime.NEVER;
+
+    /** the creation time of the identity */
+    private KerberosTime createdTime = KerberosTime.now();
+
+    /** the keys associated with this identity */
+    private final Map<EncryptionType, EncryptionKey> keys = new HashMap<>();
+
+    public KrbIdentity(String principalName) {
+        this.principal = new PrincipalName(principalName);
+    }
+
+    public KrbIdentity(PrincipalName principalName) {
+        this.principal = principalName;
+    }
+
+    public String getPrincipalName() {
+        return principal.getName();
+    }
+
+    public void setPrincipalName(String newPrincipalName) {
+        principal = new PrincipalName(newPrincipalName);
+    }
+
+    public void setPrincipalName(PrincipalName newPrincipalName) {
+        principal = newPrincipalName;
+    }
+
+    public PrincipalName getPrincipal() {
+        return principal;
+    }
+
+    public void setPrincipal(PrincipalName principal) {
+        this.principal = principal;
+    }
+
+    public KerberosTime getExpireTime() {
+        return expireTime;
+    }
+
+    public void setExpireTime(KerberosTime expireTime) {
+        this.expireTime = expireTime;
+    }
+
+    public KerberosTime getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(KerberosTime createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    public boolean isDisabled() {
+        return disabled;
+    }
+
+    public void setDisabled(boolean disabled) {
+        this.disabled = disabled;
+    }
+
+    public boolean isLocked() {
+        return locked;
+    }
+
+    public void setLocked(boolean locked) {
+        this.locked = locked;
+    }
+
+    public void addKey(EncryptionKey encKey) {
+        keys.put(encKey.getKeyType(), encKey);
+    }
+
+    public void addKeys(List<EncryptionKey> encKeys) {
+        for (final EncryptionKey key : encKeys) {
+            keys.put(key.getKeyType(), key);
+        }
+    }
+
+    public Map<EncryptionType, EncryptionKey> getKeys() {
+        return keys;
+    }
+
+    public EncryptionKey getKey(EncryptionType encType) {
+        return keys.get(encType);
+    }
+
+    public int getKdcFlags() {
+        return kdcFlags;
+    }
+
+    public void setKdcFlags(int kdcFlags) {
+        this.kdcFlags = kdcFlags;
+    }
+
+    public int getKeyVersion() {
+        return keyVersion;
+    }
+
+    public void setKeyVersion(int keyVersion) {
+        this.keyVersion = keyVersion;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+
+        if (obj == null) {
+            return false;
+        }
+
+        if (obj instanceof KrbIdentity) {
+            final KrbIdentity other = (KrbIdentity) obj;
+            if (principal == null) {
+                if (other.principal != null) {
+                    return false;
+                }
+            } else if (!principal.equals(other.principal)) {
+                return false;
+            }
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((principal == null) ? 0 : principal.hashCode());
+        return result;
+    }
+}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/type/kdc/KdcClientRequest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/type/kdc/KdcClientRequest.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/type/kdc/KdcClientRequest.java
deleted file mode 100644
index d845630..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/type/kdc/KdcClientRequest.java
+++ /dev/null
@@ -1,117 +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.type.kdc;
-
-import java.net.InetAddress;
-
-import org.apache.kerby.kerberos.kerb.type.base.AuthToken;
-import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
-import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;
-import org.apache.kerby.kerberos.kerb.type.base.PrincipalName;
-
-/**
- * This class holds details of the client request which is passed through to the IdentityService
- * to create the AuthorizationData
- */
-public class KdcClientRequest {
-
-    private boolean isPreAuthenticated;
-    private InetAddress clientAddress;
-    private EncryptionType encryptionType;
-    private EncryptionKey clientKey;
-    private PrincipalName clientPrincipal;
-    private AuthToken token;
-    private boolean isToken;
-    private boolean isPkinit;
-    private boolean isAnonymous;
-
-    public boolean isPreAuthenticated() {
-        return isPreAuthenticated;
-    }
-
-    public void setPreAuthenticated(boolean isPreAuthenticated) {
-        this.isPreAuthenticated = isPreAuthenticated;
-    }
-
-    public InetAddress getClientAddress() {
-        return clientAddress;
-    }
-
-    public void setClientAddress(InetAddress clientAddress) {
-        this.clientAddress = clientAddress;
-    }
-
-    public EncryptionType getEncryptionType() {
-        return encryptionType;
-    }
-
-    public void setEncryptionType(EncryptionType encryptionType) {
-        this.encryptionType = encryptionType;
-    }
-
-    public EncryptionKey getClientKey() {
-        return clientKey;
-    }
-
-    public void setClientKey(EncryptionKey clientKey) {
-        this.clientKey = clientKey;
-    }
-
-    public PrincipalName getClientPrincipal() {
-        return clientPrincipal;
-    }
-
-    public void setClientPrincipal(PrincipalName clientPrincipal) {
-        this.clientPrincipal = clientPrincipal;
-    }
-
-    public AuthToken getToken() {
-        return token;
-    }
-
-    public void setToken(AuthToken token) {
-        this.token = token;
-    }
-
-    public boolean isToken() {
-        return isToken;
-    }
-
-    public void setToken(boolean isToken) {
-        this.isToken = isToken;
-    }
-
-    public boolean isPkinit() {
-        return isPkinit;
-    }
-
-    public void setPkinit(boolean isPkinit) {
-        this.isPkinit = isPkinit;
-    }
-
-    public boolean isAnonymous() {
-        return isAnonymous;
-    }
-
-    public void setAnonymous(boolean isAnonymous) {
-        this.isAnonymous = isAnonymous;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-identity-test/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity-test/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java b/kerby-kerb/kerb-identity-test/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java
index 209a4c7..f81e561 100644
--- a/kerby-kerb/kerb-identity-test/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java
+++ b/kerby-kerb/kerb-identity-test/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTest.java
@@ -20,7 +20,7 @@
 package org.apache.kerby.kerberos.kerb.identity.backend;
 
 import org.apache.kerby.kerberos.kerb.KrbException;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;
 

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-identity-test/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTestUtil.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity-test/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTestUtil.java b/kerby-kerb/kerb-identity-test/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTestUtil.java
index 9640534..6e5c298 100644
--- a/kerby-kerb/kerb-identity-test/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTestUtil.java
+++ b/kerby-kerb/kerb-identity-test/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/BackendTestUtil.java
@@ -21,7 +21,7 @@ package org.apache.kerby.kerberos.kerb.identity.backend;
 
 import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.kerberos.kerb.common.EncryptionUtil;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.KerberosTime;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-identity/pom.xml
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity/pom.xml b/kerby-kerb/kerb-identity/pom.xml
index f178848..b91ba78 100644
--- a/kerby-kerb/kerb-identity/pom.xml
+++ b/kerby-kerb/kerb-identity/pom.xml
@@ -34,6 +34,11 @@
     </dependency>
     <dependency>
       <groupId>org.apache.kerby</groupId>
+      <artifactId>kerb-common</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.kerby</groupId>
       <artifactId>kerb-core</artifactId>
       <version>${project.version}</version>
     </dependency>

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/BatchTrans.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/BatchTrans.java b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/BatchTrans.java
index b85cc2e..d9f5ee4 100644
--- a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/BatchTrans.java
+++ b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/BatchTrans.java
@@ -20,6 +20,7 @@
 package org.apache.kerby.kerberos.kerb.identity;
 
 import org.apache.kerby.kerberos.kerb.KrbException;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 
 /**
  * Batch operations support to create/update/delete principal accounts

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/CacheableIdentityService.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/CacheableIdentityService.java b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/CacheableIdentityService.java
index d415661..b506fe1 100644
--- a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/CacheableIdentityService.java
+++ b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/CacheableIdentityService.java
@@ -22,8 +22,9 @@ package org.apache.kerby.kerberos.kerb.identity;
 import org.apache.kerby.config.Config;
 import org.apache.kerby.config.Configured;
 import org.apache.kerby.kerberos.kerb.KrbException;
+import org.apache.kerby.kerberos.kerb.request.KdcClientRequest;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.ad.AuthorizationData;
-import org.apache.kerby.kerberos.kerb.type.kdc.KdcClientRequest;
 import org.apache.kerby.kerberos.kerb.type.ticket.EncTicketPart;
 
 import java.util.LinkedHashMap;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java
index 54b2bc3..4f91151 100644
--- a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java
+++ b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/IdentityService.java
@@ -20,8 +20,9 @@
 package org.apache.kerby.kerberos.kerb.identity;
 
 import org.apache.kerby.kerberos.kerb.KrbException;
+import org.apache.kerby.kerberos.kerb.request.KdcClientRequest;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.ad.AuthorizationData;
-import org.apache.kerby.kerberos.kerb.type.kdc.KdcClientRequest;
 import org.apache.kerby.kerberos.kerb.type.ticket.EncTicketPart;
 
 /**

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/KrbIdentity.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/KrbIdentity.java b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/KrbIdentity.java
deleted file mode 100644
index d963441..0000000
--- a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/KrbIdentity.java
+++ /dev/null
@@ -1,181 +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.identity;
-
-import org.apache.kerby.kerberos.kerb.type.KerberosTime;
-import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
-import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;
-import org.apache.kerby.kerberos.kerb.type.base.PrincipalName;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- *
- * A class to represent a kerberos identity.
- *
- * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
- */
-public class KrbIdentity {
-    /** the principal */
-    private PrincipalName principal;
-
-    /** the key version */
-    private int keyVersion = 1;
-
-    /** KDC flags */
-    private int kdcFlags = 0;
-
-    /** flag to indicate if this identity was disabled */
-    private boolean disabled;
-
-    /** flag to indicate if this identity was locked */
-    private boolean locked;
-
-    /** the expiration time of the identity, default set to never expire */
-    private KerberosTime expireTime = KerberosTime.NEVER;
-
-    /** the creation time of the identity */
-    private KerberosTime createdTime = KerberosTime.now();
-
-    /** the keys associated with this identity */
-    private Map<EncryptionType, EncryptionKey> keys =
-            new HashMap<EncryptionType, EncryptionKey>();
-
-    public KrbIdentity(String principalName) {
-        this.principal = new PrincipalName(principalName);
-    }
-
-    public String getPrincipalName() {
-        return principal.getName();
-    }
-
-    public void setPrincipalName(String newPrincipalName) {
-        principal = new PrincipalName(newPrincipalName);
-    }
-
-    public PrincipalName getPrincipal() {
-        return principal;
-    }
-
-    public void setPrincipal(PrincipalName principal) {
-        this.principal = principal;
-    }
-
-    public KerberosTime getExpireTime() {
-        return expireTime;
-    }
-
-    public void setExpireTime(KerberosTime expireTime) {
-        this.expireTime = expireTime;
-    }
-
-    public KerberosTime getCreatedTime() {
-        return createdTime;
-    }
-
-    public void setCreatedTime(KerberosTime createdTime) {
-        this.createdTime = createdTime;
-    }
-
-    public boolean isDisabled() {
-        return disabled;
-    }
-
-    public void setDisabled(boolean disabled) {
-        this.disabled = disabled;
-    }
-
-    public boolean isLocked() {
-        return locked;
-    }
-
-    public void setLocked(boolean locked) {
-        this.locked = locked;
-    }
-
-    public void addKey(EncryptionKey encKey) {
-        keys.put(encKey.getKeyType(), encKey);
-    }
-
-    public void addKeys(List<EncryptionKey> encKeys) {
-        for (EncryptionKey key : encKeys) {
-            keys.put(key.getKeyType(), key);
-        }
-    }
-
-    public Map<EncryptionType, EncryptionKey> getKeys() {
-        return keys;
-    }
-
-    public EncryptionKey getKey(EncryptionType encType) {
-        return keys.get(encType);
-    }
-
-    public int getKdcFlags() {
-        return kdcFlags;
-    }
-
-    public void setKdcFlags(int kdcFlags) {
-        this.kdcFlags = kdcFlags;
-    }
-
-    public int getKeyVersion() {
-        return keyVersion;
-    }
-
-    public void setKeyVersion(int keyVersion) {
-        this.keyVersion = keyVersion;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-
-        if (obj == null) {
-            return false;
-        }
-
-        if (obj instanceof KrbIdentity) {
-            KrbIdentity other = (KrbIdentity) obj;
-            if (principal == null) {
-                if (other.principal != null) {
-                    return false;
-                }
-            } else if (!principal.equals(other.principal)) {
-                return false;
-            }
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((principal == null) ? 0
-                : principal.hashCode());
-        return result;
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/AbstractIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/AbstractIdentityBackend.java b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/AbstractIdentityBackend.java
index d965dc3..753408a 100644
--- a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/AbstractIdentityBackend.java
+++ b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/AbstractIdentityBackend.java
@@ -25,14 +25,14 @@ import java.util.Collections;
 import org.apache.kerby.config.Configured;
 import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.kerberos.kerb.identity.BatchTrans;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
+import org.apache.kerby.kerberos.kerb.request.KdcClientRequest;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.ad.AdToken;
 import org.apache.kerby.kerberos.kerb.type.ad.AuthorizationData;
 import org.apache.kerby.kerberos.kerb.type.ad.AuthorizationDataEntry;
 import org.apache.kerby.kerberos.kerb.type.ad.AuthorizationType;
 import org.apache.kerby.kerberos.kerb.type.base.KrbToken;
 import org.apache.kerby.kerberos.kerb.type.base.TokenFormat;
-import org.apache.kerby.kerberos.kerb.type.kdc.KdcClientRequest;
 import org.apache.kerby.kerberos.kerb.type.ticket.EncTicketPart;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java
index 88616ca..26a1b1f 100644
--- a/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java
+++ b/kerby-kerb/kerb-identity/src/main/java/org/apache/kerby/kerberos/kerb/identity/backend/MemoryIdentityBackend.java
@@ -20,7 +20,7 @@
 package org.apache.kerby.kerberos.kerb.identity.backend;
 
 import org.apache.kerby.kerberos.kerb.KrbException;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 
 import java.util.ArrayList;
 import java.util.Collections;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/AsRequest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/AsRequest.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/AsRequest.java
index 66634e6..dd8877d 100644
--- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/AsRequest.java
+++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/AsRequest.java
@@ -22,7 +22,7 @@ package org.apache.kerby.kerberos.kerb.server.request;
 import org.apache.kerby.kerberos.kerb.KrbErrorCode;
 import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.kerberos.kerb.common.EncryptionUtil;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.server.KdcContext;
 import org.apache.kerby.kerberos.kerb.type.KerberosTime;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptedData;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/KdcRequest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/KdcRequest.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/KdcRequest.java
index 88bbbbf..a88fb22 100644
--- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/KdcRequest.java
+++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/KdcRequest.java
@@ -28,7 +28,7 @@ import org.apache.kerby.kerberos.kerb.common.KrbUtil;
 import org.apache.kerby.kerberos.kerb.crypto.CheckSumHandler;
 import org.apache.kerby.kerberos.kerb.crypto.EncryptionHandler;
 import org.apache.kerby.kerberos.kerb.crypto.fast.FastUtil;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.server.KdcContext;
 import org.apache.kerby.kerberos.kerb.server.KdcRecoverableException;
 import org.apache.kerby.kerberos.kerb.server.preauth.KdcFastContext;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/TgsRequest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/TgsRequest.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/TgsRequest.java
index 870cf88..24b53a8 100644
--- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/TgsRequest.java
+++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/TgsRequest.java
@@ -25,7 +25,7 @@ import org.apache.kerby.kerberos.kerb.KrbErrorCode;
 import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.kerberos.kerb.common.EncryptionUtil;
 import org.apache.kerby.kerberos.kerb.crypto.CheckSumHandler;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.server.KdcContext;
 import org.apache.kerby.kerberos.kerb.type.KerberosTime;
 import org.apache.kerby.kerberos.kerb.type.ap.ApOption;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/TicketIssuer.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/TicketIssuer.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/TicketIssuer.java
index dc72c33..6af5ced 100644
--- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/TicketIssuer.java
+++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/request/TicketIssuer.java
@@ -23,6 +23,7 @@ import org.apache.kerby.kerberos.kerb.KrbErrorCode;
 import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.kerberos.kerb.common.EncryptionUtil;
 import org.apache.kerby.kerberos.kerb.crypto.EncryptionHandler;
+import org.apache.kerby.kerberos.kerb.request.KdcClientRequest;
 import org.apache.kerby.kerberos.kerb.server.KdcConfig;
 import org.apache.kerby.kerberos.kerb.server.KdcContext;
 import org.apache.kerby.kerberos.kerb.type.KerberosTime;
@@ -32,11 +33,11 @@ import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;
 import org.apache.kerby.kerberos.kerb.type.base.HostAddresses;
 import org.apache.kerby.kerberos.kerb.type.base.KeyUsage;
+import org.apache.kerby.kerberos.kerb.type.base.KrbMessageType;
 import org.apache.kerby.kerberos.kerb.type.base.NameType;
 import org.apache.kerby.kerberos.kerb.type.base.PrincipalName;
 import org.apache.kerby.kerberos.kerb.type.base.TransitedEncoding;
 import org.apache.kerby.kerberos.kerb.type.base.TransitedEncodingType;
-import org.apache.kerby.kerberos.kerb.type.kdc.KdcClientRequest;
 import org.apache.kerby.kerberos.kerb.type.kdc.KdcOption;
 import org.apache.kerby.kerberos.kerb.type.kdc.KdcOptions;
 import org.apache.kerby.kerberos.kerb.type.kdc.KdcReq;
@@ -229,11 +230,26 @@ public abstract class TicketIssuer {
         clientRequest.setClientAddress(kdcRequest.getClientAddress());
         clientRequest.setClientKey(kdcRequest.getClientKey());
         clientRequest.setClientPrincipal(kdcRequest.getClientPrincipal());
+        clientRequest.setClientEntry(kdcRequest.getClientEntry());
+        clientRequest.setServerPrincipal(kdcRequest.getServerPrincipal());
+        clientRequest.setServerEntry(kdcRequest.getServerEntry());
+        clientRequest.setKdcRealm(kdcRequest.getKdcContext().getKdcRealm());
         clientRequest.setEncryptionType(kdcRequest.getEncryptionType());
         clientRequest.setPkinit(kdcRequest.isPkinit());
         clientRequest.setPreAuthenticated(kdcRequest.isPreAuthenticated());
         clientRequest.setToken(kdcRequest.getToken());
-        clientRequest.setToken(kdcRequest.isToken());
+        clientRequest.setIsToken(kdcRequest.isToken());
+        KrbMessageType msgType = kdcRequest.getKdcReq().getMsgType();
+        clientRequest.setMsgType(msgType);
+        if (msgType == KrbMessageType.TGS_REQ) {
+            TgsRequest tgsRequest = (TgsRequest) kdcRequest;
+            clientRequest.setTgt(tgsRequest.getTgtTicket());
+            clientRequest.setTgsName(tgsRequest.getTgsPrincipal());
+            clientRequest.setTgsKeyType(tgsRequest.getEncryptionType());
+            clientRequest.setTgsKey(tgsRequest.getTgsEntry().getKey(tgsRequest.getEncryptionType()));
+            clientRequest.setTgsSessionKey(tgsRequest.getTgtSessionKey());
+            clientRequest.setTgsServerKey(tgsRequest.getServerKey());
+        }
 
         return getKdcContext().getIdentityService()
                 .getIdentityAuthorizationData(clientRequest, encTicketPart);

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/b5b538f7/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/GetPrincipalCommand.java
----------------------------------------------------------------------
diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/GetPrincipalCommand.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/GetPrincipalCommand.java
index bc8024a..2d5a31c 100644
--- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/GetPrincipalCommand.java
+++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/GetPrincipalCommand.java
@@ -21,7 +21,7 @@ package org.apache.kerby.kerberos.tool.kadmin.command;
 
 import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadmin;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;
 


[3/3] directory-kerby git commit: Change some links of docs.

Posted by pl...@apache.org.
Change some links of docs.


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

Branch: refs/heads/has-project
Commit: 438904f7e557a085c8c336efd2d2be304291d246
Parents: 90506c4
Author: plusplusjiajia <ji...@intel.com>
Authored: Mon Nov 27 09:33:13 2017 +0800
Committer: plusplusjiajia <ji...@intel.com>
Committed: Mon Nov 27 09:33:13 2017 +0800

----------------------------------------------------------------------
 has/README.md                                   | 32 +++++++-------
 has/doc/has-ha.md                               |  2 +-
 has/doc/has-start.md                            | 10 ++---
 has/doc/performance-report.md                   |  2 +-
 has/has-dist/bin/quick-start.sh                 |  2 +-
 has/has-plugins/pom.xml                         | 10 -----
 ...org.apache.hadoop.has.client.HasClientPlugin |  1 -
 ...org.apache.hadoop.has.server.HasServerPlugin |  1 -
 .../plugins/TestHasClientPluginRegistry.java    | 44 --------------------
 .../plugins/TestHasServerPluginRegistry.java    | 43 -------------------
 .../hadoop/has/server/admin/LocalHasAdmin.java  |  2 +-
 .../has/server/kdc/MySQLIdentityBackend.java    |  2 +-
 .../hadmin/local/cmd/GetPrincipalCmd.java       |  2 +-
 has/supports/hadoop/README.md                   |  6 +--
 14 files changed, 30 insertions(+), 129 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/README.md
----------------------------------------------------------------------
diff --git a/has/README.md b/has/README.md
index f06b393..c1362af 100644
--- a/has/README.md
+++ b/has/README.md
@@ -8,11 +8,11 @@ A dedicated Hadoop Authentication Server to support various authentication mecha
 * New authentication mechanism can be customized and plugined.
 
 # Architecture
-![](https://github.com/intel-bigdata/has/blob/release-1.0.0/doc/has-overall.png)
+![](https://github.com/apache/directory-kerby/blob/has-project/has/doc/has-overall.png)
 
 # Design
 Assuming existing users are stored in a SQL database (like MySQL), the detailed design and workflow may go like the following:
-![](https://github.com/intel-bigdata/has/blob/release-1.0.0/doc/has-design.png)
+![](https://github.com/apache/directory-kerby/blob/has-project/has/doc/has-design.png)
 
 
 # New mechanism plugin API
@@ -42,36 +42,36 @@ AuthToken authenticate(AuthToken userToken) throws HasAuthenException
 ```
 
 ## REST API
-Please look at [REST API](https://github.com/intel-bigdata/has/blob/release-1.0.0/doc/rest-api.md) for details.
+Please look at [REST API](https://github.com/apache/directory-kerby/blob/has-project/has/doc/rest-api.md) for details.
 
 ## How to start
-Please look at [How to start](https://github.com/intel-bigdata/has/blob/release-1.0.0/doc/has-start.md) for details.
+Please look at [How to start](https://github.com/apache/directory-kerby/blob/has-project/has/doc/has-start.md) for details.
 
 ## High Availability
-Please look at [High Availability](https://github.com/intel-bigdata/has/blob/release-1.0.0/doc/has-ha.md) for details.
+Please look at [High Availability](https://github.com/apache/directory-kerby/blob/has-project/has/doc/has-ha.md) for details.
 
 ## Cross Realm
-Please look at [How to setup cross-realm](https://github.com/intel-bigdata/has/blob/cross-realm/doc/cross-realm.md) for details.
+Please look at [How to setup cross-realm](https://github.com/apache/directory-kerby/blob/has-project/has/doc/cross-realm.md) for details.
 
 ## Enable Hadoop ecosystem components
 
-* [Enable Hadoop](https://github.com/Intel-bigdata/HAS/blob/release-1.0.0/supports/hadoop/README.md)
+* [Enable Hadoop](https://github.com/apache/directory-kerby/blob/has-project/has/supports/hadoop/README.md)
 
-* [Enable Zookeeper](https://github.com/Intel-bigdata/HAS/blob/release-1.0.0/supports/zookeeper/README.md)
+* [Enable Zookeeper](https://github.com/apache/directory-kerby/blob/has-project/has/supports/zookeeper/README.md)
 
-* [Enable HBase](https://github.com/Intel-bigdata/HAS/blob/release-1.0.0/supports/hbase/README.md)
+* [Enable HBase](https://github.com/apache/directory-kerby/blob/has-project/has/supports/hbase/README.md)
 
-* [Enable Hive](https://github.com/Intel-bigdata/HAS/blob/release-1.0.0/supports/hive/README.md)
+* [Enable Hive](https://github.com/apache/directory-kerby/blob/has-project/has/supports/hive/README.md)
 
-* [Enable Phoenix](https://github.com/Intel-bigdata/HAS/blob/release-1.0.0/supports/phoenix/README.md)
+* [Enable Phoenix](https://github.com/apache/directory-kerby/blob/has-project/has/supports/phoenix/README.md)
 
-* [Enable Thrift](https://github.com/Intel-bigdata/HAS/blob/release-1.0.0/supports/thrift/README.md)
+* [Enable Thrift](https://github.com/apache/directory-kerby/blob/has-project/has/supports/thrift/README.md)
 
-* [Enable Spark](https://github.com/Intel-bigdata/HAS/blob/release-1.0.0/supports/spark/README.md)
+* [Enable Spark](https://github.com/apache/directory-kerby/blob/has-project/has/supports/spark/README.md)
 
-* [Enable Oozie](https://github.com/Intel-bigdata/HAS/blob/release-1.0.0/supports/oozie/README.md)
+* [Enable Oozie](https://github.com/apache/directory-kerby/blob/has-project/has/supports/oozie/README.md)
 
-* [Enable Presto](https://github.com/Intel-bigdata/HAS/blob/release-1.0.0/supports/presto/README.md)
+* [Enable Presto](https://github.com/apache/directory-kerby/blob/has-project/has/supports/presto/README.md)
 
 ## List of supported Hadoop ecosystem components
 
@@ -90,4 +90,4 @@ Please look at [How to setup cross-realm](https://github.com/intel-bigdata/has/b
 | Sqoop                   | Yes                         | No                   | No                       |
 
 ## Performance test report
-Please look at [Performance test report](https://github.com/intel-bigdata/has/blob/release-1.0.0/doc/performance-report.md) for details.
+Please look at [Performance test report](https://github.com/apache/directory-kerby/blob/has-project/has/doc/performance-report.md) for details.

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/doc/has-ha.md
----------------------------------------------------------------------
diff --git a/has/doc/has-ha.md b/has/doc/has-ha.md
index b683878..34fa031 100644
--- a/has/doc/has-ha.md
+++ b/has/doc/has-ha.md
@@ -39,7 +39,7 @@ The two redundant HAS servers must have same https ports. Below are examples:
 
 The two redundant HAS servers must use **mysql** backend, and have same *mysql_url*, *mysql_user* and *mysql_password*.
 
-Please look at [How to use mysql backend](https://github.com/intel-bigdata/has/blob/release-1.0.0/doc/mysql-backend.md) for mysql backend configuration.
+Please look at [How to use mysql backend](https://github.com/apache/directory-kerby/blob/has-project/has/doc/mysql-backend.md) for mysql backend configuration.
 
 ### 4. Configure HAS KDC
 

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/doc/has-start.md
----------------------------------------------------------------------
diff --git a/has/doc/has-start.md b/has/doc/has-start.md
index 43bc2eb..30f6567 100644
--- a/has/doc/has-start.md
+++ b/has/doc/has-start.md
@@ -5,19 +5,19 @@ How to start
 
 ### Download HAS source code:
 ```
-git clone https://github.com/Intel-bigdata/HAS.git
+git clone https://github.com/apache/directory-kerby.git -b has-project
 ```
 
 ### Install HAS:
 ```
-cd HAS
+cd directory-kerby/has
 mvn clean install
 ```
 
 ## 2. Start and configure HAS server
 
 ### Deploy https
-Please look at [How to deploy https](https://github.com/intel-bigdata/has/blob/release-1.0.0/doc/deploy-https.md) for details.
+Please look at [How to deploy https](https://github.com/apache/directory-kerby/blob/has-project/has/doc/deploy-https.md) for details.
 
 ### Configure has-server.conf in <conf_dir>:
 An example of has-server.conf:
@@ -71,7 +71,7 @@ KdcInitTool: config_kdcBackend json /tmp/has/jsonbackend
 KdcInitTool: config_kdcBackend mysql jdbc:mysql://127.0.0.1:3306/mysqlbackend root passwd
 KdcInitTool: exit
 ```
-For mysql backend, please refer to [How to use mysql backend](https://github.com/intel-bigdata/has/blob/release-1.0.0/doc/mysql-backend.md) for details.
+For mysql backend, please refer to [How to use mysql backend](https://github.com/apache/directory-kerby/blob/has-project/has/doc/mysql-backend.md) for details.
 
 ### Configure HAS KDC:
 ```
@@ -104,7 +104,7 @@ KdcInitTool: exit
 ```
 
 ### Deploy http spnego
-Please look at [How to deploy http spnego](https://github.com/intel-bigdata/has/blob/release-1.0.0/doc/deploy-spnego.md) for details.
+Please look at [How to deploy http spnego](https://github.com/apache/directory-kerby/blob/has-project/has/doc/deploy-spnego.md) for details.
 Please restart the HAS server
 
 ```

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/doc/performance-report.md
----------------------------------------------------------------------
diff --git a/has/doc/performance-report.md b/has/doc/performance-report.md
index e542782..20d196b 100644
--- a/has/doc/performance-report.md
+++ b/has/doc/performance-report.md
@@ -33,7 +33,7 @@ The test use Alibaba Cloud Elastic Compute Service, detailed test environment li
 
 ## 3. Test Method
 
-By using [login-test](https://github.com/Intel-bigdata/HAS/blob/master/has-dist/bin/login-test.sh) scripting tool, the test can be broadly divided into four steps:
+By using [login-test](https://github.com/apache/directory-kerby/blob/has-project/has/has-dist/bin/login-test.sh) scripting tool, the test can be broadly divided into four steps:
 
 1. Add principals to HAS server
 2. Export keytab files to HAS Client  

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/has-dist/bin/quick-start.sh
----------------------------------------------------------------------
diff --git a/has/has-dist/bin/quick-start.sh b/has/has-dist/bin/quick-start.sh
index fbe6812..73e0ea0 100644
--- a/has/has-dist/bin/quick-start.sh
+++ b/has/has-dist/bin/quick-start.sh
@@ -31,7 +31,7 @@ sleep 2s
 
 # 3. Set Realm
 echo "Set Realm..."
-curl -X PUT "http://localhost:8091/has/v1/conf/setKdcRealm?realm=ALIYUN.COM"
+curl -X PUT "http://localhost:8091/has/v1/conf/setKdcRealm?realm=EXAMPLE.COM"
 sleep 2s
 
 # 4. Start HAS

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/has-plugins/pom.xml
----------------------------------------------------------------------
diff --git a/has/has-plugins/pom.xml b/has/has-plugins/pom.xml
index 3cdc12a..d5b2195 100644
--- a/has/has-plugins/pom.xml
+++ b/has/has-plugins/pom.xml
@@ -18,16 +18,6 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>com.aliyun</groupId>
-            <artifactId>aliyun-java-sdk-ram</artifactId>
-            <version>2.0.7</version>
-        </dependency>
-        <dependency>
-            <groupId>com.aliyun</groupId>
-            <artifactId>aliyun-java-sdk-core</artifactId>
-            <version>2.2.3</version>
-        </dependency>
-        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <version>4.12</version>

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/has-plugins/src/main/resources/META-INF/services/org.apache.hadoop.has.client.HasClientPlugin
----------------------------------------------------------------------
diff --git a/has/has-plugins/src/main/resources/META-INF/services/org.apache.hadoop.has.client.HasClientPlugin b/has/has-plugins/src/main/resources/META-INF/services/org.apache.hadoop.has.client.HasClientPlugin
index 9f6edbc..09697dc 100644
--- a/has/has-plugins/src/main/resources/META-INF/services/org.apache.hadoop.has.client.HasClientPlugin
+++ b/has/has-plugins/src/main/resources/META-INF/services/org.apache.hadoop.has.client.HasClientPlugin
@@ -13,4 +13,3 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-org.apache.hadoop.has.plugins.client.aliyun.AliyunHasClientPlugin

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/has-plugins/src/main/resources/META-INF/services/org.apache.hadoop.has.server.HasServerPlugin
----------------------------------------------------------------------
diff --git a/has/has-plugins/src/main/resources/META-INF/services/org.apache.hadoop.has.server.HasServerPlugin b/has/has-plugins/src/main/resources/META-INF/services/org.apache.hadoop.has.server.HasServerPlugin
index fa342e5..09697dc 100644
--- a/has/has-plugins/src/main/resources/META-INF/services/org.apache.hadoop.has.server.HasServerPlugin
+++ b/has/has-plugins/src/main/resources/META-INF/services/org.apache.hadoop.has.server.HasServerPlugin
@@ -13,4 +13,3 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-org.apache.hadoop.has.plugins.server.aliyun.AliyunHasServerPlugin

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/has-plugins/src/test/java/org/apache/hadoop/has/plugins/TestHasClientPluginRegistry.java
----------------------------------------------------------------------
diff --git a/has/has-plugins/src/test/java/org/apache/hadoop/has/plugins/TestHasClientPluginRegistry.java b/has/has-plugins/src/test/java/org/apache/hadoop/has/plugins/TestHasClientPluginRegistry.java
deleted file mode 100644
index 4c60250..0000000
--- a/has/has-plugins/src/test/java/org/apache/hadoop/has/plugins/TestHasClientPluginRegistry.java
+++ /dev/null
@@ -1,44 +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.hadoop.has.plugins;
-
-import org.apache.hadoop.has.client.HasClientPluginRegistry;
-import org.apache.hadoop.has.common.HasException;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.util.Set;
-
-public class TestHasClientPluginRegistry {
-
-  @Test
-  public void testInit() {
-    Set<String> pluginsNames = HasClientPluginRegistry.registeredPlugins();
-    Assert.assertTrue(pluginsNames.size() > 0);
-  }
-
-  @Test
-  public void testCreatePlugin() throws HasException {
-    Assert.assertTrue(HasClientPluginRegistry.createPlugin("RAM") != null);
-    Set<String> pluginNames = HasClientPluginRegistry.registeredPlugins();
-    for (String name : pluginNames) {
-      HasClientPluginRegistry.createPlugin(name);
-    }
-  }
-}
-

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/has-plugins/src/test/java/org/apache/hadoop/has/plugins/TestHasServerPluginRegistry.java
----------------------------------------------------------------------
diff --git a/has/has-plugins/src/test/java/org/apache/hadoop/has/plugins/TestHasServerPluginRegistry.java b/has/has-plugins/src/test/java/org/apache/hadoop/has/plugins/TestHasServerPluginRegistry.java
deleted file mode 100644
index 78f307f..0000000
--- a/has/has-plugins/src/test/java/org/apache/hadoop/has/plugins/TestHasServerPluginRegistry.java
+++ /dev/null
@@ -1,43 +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.hadoop.has.plugins;
-
-import org.apache.hadoop.has.common.HasException;
-import org.apache.hadoop.has.server.HasServerPluginRegistry;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.util.Set;
-
-public class TestHasServerPluginRegistry {
-
-  @Test
-  public void testInit() {
-    Set<String> pluginsNames = HasServerPluginRegistry.registeredPlugins();
-    Assert.assertTrue(pluginsNames.size() > 0);
-  }
-
-  @Test
-  public void testCreatePlugin() throws HasException {
-    Assert.assertTrue(HasServerPluginRegistry.createPlugin("RAM") != null);
-    Set<String> pluginNames = HasServerPluginRegistry.registeredPlugins();
-    for (String name : pluginNames) {
-      HasServerPluginRegistry.createPlugin(name);
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/has-server/src/main/java/org/apache/hadoop/has/server/admin/LocalHasAdmin.java
----------------------------------------------------------------------
diff --git a/has/has-server/src/main/java/org/apache/hadoop/has/server/admin/LocalHasAdmin.java b/has/has-server/src/main/java/org/apache/hadoop/has/server/admin/LocalHasAdmin.java
index 589e092..b49c255 100644
--- a/has/has-server/src/main/java/org/apache/hadoop/has/server/admin/LocalHasAdmin.java
+++ b/has/has-server/src/main/java/org/apache/hadoop/has/server/admin/LocalHasAdmin.java
@@ -28,8 +28,8 @@ import org.apache.kerby.kerberos.kerb.KrbException;
 import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadmin;
 import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadminImpl;
 import org.apache.kerby.kerberos.kerb.common.KrbUtil;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.identity.backend.BackendConfig;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.server.KdcConfig;
 import org.apache.kerby.kerberos.kerb.server.KdcSetting;
 import org.apache.kerby.kerberos.kerb.server.KdcUtil;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/has-server/src/main/java/org/apache/hadoop/has/server/kdc/MySQLIdentityBackend.java
----------------------------------------------------------------------
diff --git a/has/has-server/src/main/java/org/apache/hadoop/has/server/kdc/MySQLIdentityBackend.java b/has/has-server/src/main/java/org/apache/hadoop/has/server/kdc/MySQLIdentityBackend.java
index 034704a..ec02312 100644
--- a/has/has-server/src/main/java/org/apache/hadoop/has/server/kdc/MySQLIdentityBackend.java
+++ b/has/has-server/src/main/java/org/apache/hadoop/has/server/kdc/MySQLIdentityBackend.java
@@ -23,8 +23,8 @@ import org.apache.commons.dbutils.DbUtils;
 import org.apache.directory.api.util.GeneralizedTime;
 import org.apache.kerby.config.Config;
 import org.apache.kerby.kerberos.kerb.KrbException;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.identity.backend.AbstractIdentityBackend;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.KerberosTime;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/has-tool/has-server-tool/src/main/java/org/apache/hadoop/has/tool/server/hadmin/local/cmd/GetPrincipalCmd.java
----------------------------------------------------------------------
diff --git a/has/has-tool/has-server-tool/src/main/java/org/apache/hadoop/has/tool/server/hadmin/local/cmd/GetPrincipalCmd.java b/has/has-tool/has-server-tool/src/main/java/org/apache/hadoop/has/tool/server/hadmin/local/cmd/GetPrincipalCmd.java
index 88612a8..ed636c8 100644
--- a/has/has-tool/has-server-tool/src/main/java/org/apache/hadoop/has/tool/server/hadmin/local/cmd/GetPrincipalCmd.java
+++ b/has/has-tool/has-server-tool/src/main/java/org/apache/hadoop/has/tool/server/hadmin/local/cmd/GetPrincipalCmd.java
@@ -21,7 +21,7 @@ package org.apache.hadoop.has.tool.server.hadmin.local.cmd;
 
 import org.apache.hadoop.has.common.HasException;
 import org.apache.hadoop.has.server.admin.LocalHasAdmin;
-import org.apache.kerby.kerberos.kerb.identity.KrbIdentity;
+import org.apache.kerby.kerberos.kerb.request.KrbIdentity;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionKey;
 import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;
 

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/438904f7/has/supports/hadoop/README.md
----------------------------------------------------------------------
diff --git a/has/supports/hadoop/README.md b/has/supports/hadoop/README.md
index 15f177c..1b9f2e1 100644
--- a/has/supports/hadoop/README.md
+++ b/has/supports/hadoop/README.md
@@ -18,7 +18,7 @@ mvn package -Pdist,native -Dtar -DskipTests -Dmaven.javadoc.skip=true -Dcontaine
 ## 2. Distribute and configure Keytab files
 
 ### Create keytab and deploy krb5.conf and has-client.conf
-Please look at [How to start HAS](https://github.com/intel-bigdata/has/blob/release-1.0.0/doc/has-start.md) for details.
+Please look at [How to start HAS](https://github.com/apache/directory-kerby/blob/has-project/has/doc/has-start.md) for details.
 
 ### Distribute keytab files to the corresponding nodes.
 
@@ -240,7 +240,7 @@ cp etc/hadoop/ssl-server.xml.example etc/hadoop/ssl-server.xml
 ```
 
 Configure ssl-server.xml:
-Please look at [How to deploy https](https://github.com/intel-bigdata/has/blob/release-1.0.0/doc/deploy-https.md).
+Please look at [How to deploy https](https://github.com/apache/directory-kerby/blob/has-project/has/doc/deploy-https.md).
 
 ## 4. Configure container-executor
 
@@ -275,7 +275,7 @@ container-executor --checksetup
 ## 5. Setting up cross-realm for distcp
 
 ### Setup cross realm trust between realms
-Please look at [How to setup cross-realm](https://github.com/intel-bigdata/has/blob/cross-realm/doc/cross-realm.md).
+Please look at [How to setup cross-realm](https://github.com/apache/directory-kerby/blob/has-project/has/doc/cross-realm.md).
 
 ### Update core-site.xml
 


[2/3] directory-kerby git commit: Merge remote-tracking branch 'asf/trunk' into has-project

Posted by pl...@apache.org.
Merge remote-tracking branch 'asf/trunk' into has-project


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

Branch: refs/heads/has-project
Commit: 90506c46464ea4289693702fad6c301c4a575b10
Parents: be58056 b5b538f
Author: plusplusjiajia <ji...@intel.com>
Authored: Mon Nov 20 09:10:06 2017 +0800
Committer: plusplusjiajia <ji...@intel.com>
Committed: Mon Nov 20 09:10:06 2017 +0800

----------------------------------------------------------------------
 .../identitybackend/JsonIdentityBackend.java    |   2 +-
 .../identitybackend/LdapIdentityBackend.java    |   2 +-
 .../org/apache/kerby/KrbIdentityComparator.java |   2 +-
 .../org/apache/kerby/KrbIdentitySerializer.java |   2 +-
 .../java/org/apache/kerby/MavibotBackend.java   |   2 +-
 .../apache/kerby/KrbIdentitySerializerTest.java |   2 +-
 .../org/apache/kerby/MavibotBackendTest.java    |   2 +-
 .../ZookeeperIdentityBackend.java               |   2 +-
 .../kerb/admin/kadmin/local/AdminHelper.java    |   2 +-
 .../kerb/admin/kadmin/local/LocalKadmin.java    |   2 +-
 .../admin/kadmin/local/LocalKadminImpl.java     |   2 +-
 .../kerberos/kerb/request/KdcClientRequest.java | 219 +++++++++++++++++++
 .../kerberos/kerb/request/KrbIdentity.java      | 188 ++++++++++++++++
 .../kerb/type/kdc/KdcClientRequest.java         | 117 ----------
 .../kerb/identity/backend/BackendTest.java      |   2 +-
 .../kerb/identity/backend/BackendTestUtil.java  |   2 +-
 kerby-kerb/kerb-identity/pom.xml                |   5 +
 .../kerberos/kerb/identity/BatchTrans.java      |   1 +
 .../kerb/identity/CacheableIdentityService.java |   3 +-
 .../kerberos/kerb/identity/IdentityService.java |   3 +-
 .../kerberos/kerb/identity/KrbIdentity.java     | 181 ---------------
 .../backend/AbstractIdentityBackend.java        |   4 +-
 .../identity/backend/MemoryIdentityBackend.java |   2 +-
 .../kerberos/kerb/server/request/AsRequest.java |   2 +-
 .../kerb/server/request/KdcRequest.java         |   2 +-
 .../kerb/server/request/TgsRequest.java         |   2 +-
 .../kerb/server/request/TicketIssuer.java       |  20 +-
 .../kadmin/command/GetPrincipalCommand.java     |   2 +-
 28 files changed, 455 insertions(+), 322 deletions(-)
----------------------------------------------------------------------