Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 06082200B41 for ; Thu, 7 Jul 2016 08:41:51 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 0498A160A86; Thu, 7 Jul 2016 06:41:51 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id AB4CD160A7D for ; Thu, 7 Jul 2016 08:41:49 +0200 (CEST) Received: (qmail 70784 invoked by uid 500); 7 Jul 2016 06:41:48 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 69558 invoked by uid 99); 7 Jul 2016 06:41:46 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Jul 2016 06:41:46 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id A28C1E0844; Thu, 7 Jul 2016 06:41:46 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: plusplusjiajia@apache.org To: commits@directory.apache.org Date: Thu, 07 Jul 2016 06:42:02 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [17/27] directory-kerby git commit: DIRKRB-592 Merge kadmin-remote branch to trunk. archived-at: Thu, 07 Jul 2016 06:41:51 -0000 http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/message/KadminCode.java ---------------------------------------------------------------------- diff --git a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/message/KadminCode.java b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/message/KadminCode.java new file mode 100644 index 0000000..c5d6359 --- /dev/null +++ b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/message/KadminCode.java @@ -0,0 +1,63 @@ +/** + * 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.admin.message; + +import java.io.IOException; +import java.nio.ByteBuffer; + +/** + * Used to decode messages between admin and admin server. + */ +public class KadminCode { + public static ByteBuffer encodeMessage(AdminMessage adminMessage) { + int length = adminMessage.encodingLength(); + // 4 is the head to go through network + ByteBuffer buffer = ByteBuffer.allocate(length + 4); + buffer.putInt(length); // head in network + //buffer.putInt(adminMessage.getAdminMessageType().getValue()); + // type has been encoded in the admin message + buffer.put(adminMessage.getMessageBuffer()); + buffer.flip(); + return buffer; + } + + public static AdminMessage decodeMessage(ByteBuffer buffer) throws IOException { + //go through network, the total length has been removed. + int type = buffer.getInt(); + System.out.println("type: " + type); + AdminMessageType adminMessageType = AdminMessageType.findType(type); + AdminMessage adminMessage = null; + byte[] bytes = new byte[buffer.remaining()]; + buffer.get(bytes); + if (adminMessageType == AdminMessageType.ADD_PRINCIPAL_REQ) { + adminMessage = new AddPrincipalReq(); + System.out.println("check if decoding right: " + + new String(ByteBuffer.wrap(bytes).array())); + } else if (adminMessageType == AdminMessageType.ADD_PRINCIPAL_REP) { + adminMessage = new AddPrincipalRep(); + System.out.println("check if decoding right2: " + + new String(ByteBuffer.wrap(bytes).array())); + } else { + throw new IOException("Unknown Admin Message Type: " + type); + } + + return adminMessage; + } +} http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/message/RenamePrincipalRep.java ---------------------------------------------------------------------- diff --git a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/message/RenamePrincipalRep.java b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/message/RenamePrincipalRep.java new file mode 100644 index 0000000..5406190 --- /dev/null +++ b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/message/RenamePrincipalRep.java @@ -0,0 +1,29 @@ +/** + * 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.admin.message; + +/** + * Rename principal reply, to general admin message + */ +public class RenamePrincipalRep extends AdminRep { + public RenamePrincipalRep() { + super(AdminMessageType.RENAME_PRINCIPAL_REP); + } +} http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/message/RenamePrincipalReq.java ---------------------------------------------------------------------- diff --git a/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/message/RenamePrincipalReq.java b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/message/RenamePrincipalReq.java new file mode 100644 index 0000000..4bc8c1b --- /dev/null +++ b/kerby-kerb/kerb-admin/src/main/java/org/apache/kerby/kerberos/kerb/admin/message/RenamePrincipalReq.java @@ -0,0 +1,29 @@ +/** + * 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.admin.message; + +/** + * Rename principal request, to general admin message + */ +public class RenamePrincipalReq extends AdminReq { + public RenamePrincipalReq() { + super(AdminMessageType.RENAME_PRINCIPAL_REQ); + } +} http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-kerb/kerb-admin/src/test/java/org/apache/kerby/kerberos/kerb/admin/KadminTest.java ---------------------------------------------------------------------- diff --git a/kerby-kerb/kerb-admin/src/test/java/org/apache/kerby/kerberos/kerb/admin/KadminTest.java b/kerby-kerb/kerb-admin/src/test/java/org/apache/kerby/kerberos/kerb/admin/KadminTest.java deleted file mode 100644 index 325f1db..0000000 --- a/kerby-kerb/kerb-admin/src/test/java/org/apache/kerby/kerberos/kerb/admin/KadminTest.java +++ /dev/null @@ -1,24 +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.admin; - -public class KadminTest { - -} http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KdcNetwork.java ---------------------------------------------------------------------- diff --git a/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KdcNetwork.java b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KdcNetwork.java index 5323225..135eb6e 100644 --- a/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KdcNetwork.java +++ b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/transport/KdcNetwork.java @@ -124,7 +124,6 @@ public abstract class KdcNetwork { } } - private void checkUdpMessage() throws IOException { InetSocketAddress fromAddress = (InetSocketAddress) udpServer.receive(recvBuffer); if (fromAddress != null) { http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcSetting.java ---------------------------------------------------------------------- diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcSetting.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcSetting.java index 85f4da7..c53d5d6 100644 --- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcSetting.java +++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcSetting.java @@ -26,7 +26,7 @@ import org.apache.kerby.kerberos.kerb.identity.backend.BackendConfig; /** * KDC setting that combines startup options and kdc config. */ -public class KdcSetting { +public class KdcSetting implements ServerSetting { private final KOptions startupOptions; private final KdcConfig kdcConfig; private final BackendConfig backendConfig; http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/ServerSetting.java ---------------------------------------------------------------------- diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/ServerSetting.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/ServerSetting.java new file mode 100644 index 0000000..7044693 --- /dev/null +++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/ServerSetting.java @@ -0,0 +1,35 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.apache.kerby.kerberos.kerb.server; + +import org.apache.kerby.kerberos.kerb.identity.backend.BackendConfig; + +/** + * Super clsss of KdcSetting and AdminServer Setting. + * This class is used to solve the problem of member variable in + * LocalKadminImpl (KdcSetting or AdminServerSetting). + */ +public interface ServerSetting { + String getKdcRealm(); + + KdcConfig getKdcConfig(); + + BackendConfig getBackendConfig(); +} http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-kerb/kerb-simplekdc/src/main/java/org/apache/kerby/kerberos/kerb/server/SimpleKdcServer.java ---------------------------------------------------------------------- diff --git a/kerby-kerb/kerb-simplekdc/src/main/java/org/apache/kerby/kerberos/kerb/server/SimpleKdcServer.java b/kerby-kerb/kerb-simplekdc/src/main/java/org/apache/kerby/kerberos/kerb/server/SimpleKdcServer.java index c342d8b..4de8e7f 100644 --- a/kerby-kerb/kerb-simplekdc/src/main/java/org/apache/kerby/kerberos/kerb/server/SimpleKdcServer.java +++ b/kerby-kerb/kerb-simplekdc/src/main/java/org/apache/kerby/kerberos/kerb/server/SimpleKdcServer.java @@ -20,8 +20,8 @@ package org.apache.kerby.kerberos.kerb.server; import org.apache.kerby.kerberos.kerb.KrbException; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; -import org.apache.kerby.kerberos.kerb.admin.LocalKadminImpl; +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.client.Krb5Conf; import org.apache.kerby.kerberos.kerb.client.KrbClient; import org.apache.kerby.kerberos.kerb.client.KrbConfig; http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-kerb/pom.xml ---------------------------------------------------------------------- diff --git a/kerby-kerb/pom.xml b/kerby-kerb/pom.xml index 4b2537b..d9879d9 100644 --- a/kerby-kerb/pom.xml +++ b/kerby-kerb/pom.xml @@ -37,6 +37,7 @@ kerb-kdc-test integration-test kerb-admin + kerb-admin-server kerb-simplekdc kerb-client-api-all kerb-server-api-all http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-tool/kdc-tool/pom.xml ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/pom.xml b/kerby-tool/kdc-tool/pom.xml index 64edba2..dd4d62c 100644 --- a/kerby-tool/kdc-tool/pom.xml +++ b/kerby-tool/kdc-tool/pom.xml @@ -51,6 +51,12 @@ kerb-admin ${project.version} + + org.apache.kerby + kerb-admin-server + ${project.version} + + http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/KadminTool.java ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/KadminTool.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/KadminTool.java index 1c97204..add63a4 100644 --- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/KadminTool.java +++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/KadminTool.java @@ -21,9 +21,9 @@ package org.apache.kerby.kerberos.tool.kadmin; import org.apache.kerby.KOptions; import org.apache.kerby.kerberos.kerb.KrbException; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; -import org.apache.kerby.kerberos.kerb.admin.LocalKadminImpl; -import org.apache.kerby.kerberos.kerb.admin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.KadminOption; +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.tool.kadmin.command.AddPrincipalCommand; import org.apache.kerby.kerberos.tool.kadmin.command.ChangePasswordCommand; import org.apache.kerby.kerberos.tool.kadmin.command.DeletePrincipalCommand; http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/ToolUtil.java ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/ToolUtil.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/ToolUtil.java index e2f33ff..9c64351 100644 --- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/ToolUtil.java +++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/ToolUtil.java @@ -21,7 +21,7 @@ package org.apache.kerby.kerberos.tool.kadmin; import org.apache.kerby.KOptionType; import org.apache.kerby.KOptions; -import org.apache.kerby.kerberos.kerb.admin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.KadminOption; import java.util.Scanner; http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/AddPrincipalCommand.java ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/AddPrincipalCommand.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/AddPrincipalCommand.java index e2374bd..c9b36be 100644 --- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/AddPrincipalCommand.java +++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/AddPrincipalCommand.java @@ -21,8 +21,8 @@ package org.apache.kerby.kerberos.tool.kadmin.command; import org.apache.kerby.KOptions; import org.apache.kerby.kerberos.kerb.KrbException; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; -import org.apache.kerby.kerberos.kerb.admin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadmin; import org.apache.kerby.kerberos.tool.kadmin.ToolUtil; import java.io.Console; http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/AddPrincipalsCommand.java ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/AddPrincipalsCommand.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/AddPrincipalsCommand.java index 32fe808..b1843e5 100644 --- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/AddPrincipalsCommand.java +++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/AddPrincipalsCommand.java @@ -21,8 +21,8 @@ package org.apache.kerby.kerberos.tool.kadmin.command; import org.apache.kerby.KOptions; import org.apache.kerby.kerberos.kerb.KrbException; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; -import org.apache.kerby.kerberos.kerb.admin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadmin; import org.apache.kerby.kerberos.tool.kadmin.ToolUtil; public class AddPrincipalsCommand extends KadminCommand { http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ChangePasswordCommand.java ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ChangePasswordCommand.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ChangePasswordCommand.java index f3d2f45..b4bc4a0 100644 --- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ChangePasswordCommand.java +++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ChangePasswordCommand.java @@ -21,8 +21,8 @@ package org.apache.kerby.kerberos.tool.kadmin.command; import org.apache.kerby.KOptions; import org.apache.kerby.kerberos.kerb.KrbException; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; -import org.apache.kerby.kerberos.kerb.admin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadmin; import org.apache.kerby.kerberos.tool.kadmin.ToolUtil; import java.io.Console; http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/DeletePrincipalCommand.java ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/DeletePrincipalCommand.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/DeletePrincipalCommand.java index 8322b7b..0a2e146 100644 --- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/DeletePrincipalCommand.java +++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/DeletePrincipalCommand.java @@ -20,8 +20,8 @@ package org.apache.kerby.kerberos.tool.kadmin.command; import org.apache.kerby.kerberos.kerb.KrbException; -import org.apache.kerby.kerberos.kerb.admin.Kadmin; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; +import org.apache.kerby.kerberos.kerb.admin.kadmin.Kadmin; +import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadmin; import java.io.Console; import java.util.Scanner; http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/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 6c4501f..bc8024a 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 @@ -20,7 +20,7 @@ package org.apache.kerby.kerberos.tool.kadmin.command; import org.apache.kerby.kerberos.kerb.KrbException; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; +import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadmin; import org.apache.kerby.kerberos.kerb.identity.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/9f628e5a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KadminCommand.java ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KadminCommand.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KadminCommand.java index 53890e2..46f1087 100644 --- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KadminCommand.java +++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KadminCommand.java @@ -19,7 +19,7 @@ */ package org.apache.kerby.kerberos.tool.kadmin.command; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; +import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadmin; public abstract class KadminCommand { http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KeytabAddCommand.java ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KeytabAddCommand.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KeytabAddCommand.java index 65802f4..d96d5a0 100644 --- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KeytabAddCommand.java +++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KeytabAddCommand.java @@ -20,7 +20,7 @@ package org.apache.kerby.kerberos.tool.kadmin.command; import org.apache.kerby.kerberos.kerb.KrbException; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; +import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadmin; import java.io.File; import java.util.List; http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KeytabRemoveCommand.java ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KeytabRemoveCommand.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KeytabRemoveCommand.java index d1d9df4..82ab676 100644 --- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KeytabRemoveCommand.java +++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/KeytabRemoveCommand.java @@ -21,8 +21,8 @@ package org.apache.kerby.kerberos.tool.kadmin.command; import org.apache.kerby.KOptions; import org.apache.kerby.kerberos.kerb.KrbException; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; -import org.apache.kerby.kerberos.kerb.admin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadmin; import org.apache.kerby.kerberos.tool.kadmin.ToolUtil; import java.io.File; http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ListPrincipalCommand.java ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ListPrincipalCommand.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ListPrincipalCommand.java index 71d909f..d236c65 100644 --- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ListPrincipalCommand.java +++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ListPrincipalCommand.java @@ -20,7 +20,7 @@ package org.apache.kerby.kerberos.tool.kadmin.command; import org.apache.kerby.kerberos.kerb.KrbException; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; +import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadmin; import java.util.List; http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ModifyPrincipalCommand.java ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ModifyPrincipalCommand.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ModifyPrincipalCommand.java index 4d0d16b..f3fe0fc 100644 --- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ModifyPrincipalCommand.java +++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ModifyPrincipalCommand.java @@ -22,8 +22,8 @@ package org.apache.kerby.kerberos.tool.kadmin.command; import org.apache.kerby.KOptionType; import org.apache.kerby.KOptions; import org.apache.kerby.kerberos.kerb.KrbException; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; -import org.apache.kerby.kerberos.kerb.admin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadmin; import org.apache.kerby.kerberos.tool.kadmin.ToolUtil; public class ModifyPrincipalCommand extends KadminCommand { http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/RenamePrincipalCommand.java ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/RenamePrincipalCommand.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/RenamePrincipalCommand.java index 80d6785..ca31199 100644 --- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/RenamePrincipalCommand.java +++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/RenamePrincipalCommand.java @@ -21,12 +21,11 @@ package org.apache.kerby.kerberos.tool.kadmin.command; import org.apache.kerby.KOptions; import org.apache.kerby.kerberos.kerb.KrbException; -import org.apache.kerby.kerberos.kerb.admin.Kadmin; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; -import org.apache.kerby.kerberos.kerb.admin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.Kadmin; +import org.apache.kerby.kerberos.kerb.admin.kadmin.KadminOption; +import org.apache.kerby.kerberos.kerb.admin.kadmin.local.LocalKadmin; import org.apache.kerby.kerberos.tool.kadmin.ToolUtil; - public class RenamePrincipalCommand extends KadminCommand { private static final String USAGE = "Usage: rename_principal [-force] old_principal new_principal\n"; http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/9f628e5a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kdcinit/KdcInitTool.java ---------------------------------------------------------------------- diff --git a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kdcinit/KdcInitTool.java b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kdcinit/KdcInitTool.java index 4cf4de8..faf1cb2 100644 --- a/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kdcinit/KdcInitTool.java +++ b/kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kdcinit/KdcInitTool.java @@ -20,8 +20,10 @@ package org.apache.kerby.kerberos.tool.kdcinit; import org.apache.kerby.kerberos.kerb.KrbException; -import org.apache.kerby.kerberos.kerb.admin.LocalKadmin; -import org.apache.kerby.kerberos.kerb.admin.LocalKadminImpl; +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.admin.server.kadmin.AdminServer; +import org.apache.kerby.kerberos.kerb.admin.server.kadmin.AdminServerConfig; import org.apache.kerby.util.OSUtil; import java.io.File; @@ -53,6 +55,19 @@ public class KdcInitTool { + " has been exported to the specified file " + keytabFile.getAbsolutePath() + ", please safely keep it, " + "in order to use kadmin tool later"); + + // Export protocol keytab file for remote admin tool + AdminServer adminServer = new AdminServer(confDir); + AdminServerConfig adminServerConfig = adminServer.getAdminServerConfig(); + String principal = adminServerConfig.getProtocol() + "/" + + adminServerConfig.getAdminHost() + "@" + adminServerConfig.getAdminRealm(); + kadmin.addPrincipal(principal); + File protocolFile = new File("protocol.keytab"); + kadmin.exportKeytab(protocolFile, principal); + System.out.println("The keytab for protocol principal " + + " has been exported to the specified file " + + protocolFile.getAbsolutePath() + ", please safely keep it, " + + "in order to use remote kadmin tool later"); } finally { kadmin.release(); }