You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by co...@apache.org on 2017/11/17 10:02:45 UTC
directory-kerby git commit: Changes to prevent circular reference
between kerb-kore and kerb-identity.
Repository: directory-kerby
Updated Branches:
refs/heads/trunk 1e6d36497 -> b5b538f79
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/trunk
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;