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/08/02 05:19:06 UTC

directory-kerby git commit: DIRKRB-641 Implement kinit -k -i. Contributed by Lin Zeng.

Repository: directory-kerby
Updated Branches:
  refs/heads/1.0.x-fixes 7e50956a8 -> 69708a379


DIRKRB-641 Implement kinit -k -i. Contributed by Lin Zeng.


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

Branch: refs/heads/1.0.x-fixes
Commit: 69708a3790ca53780f4e4f32d30850b3b462364a
Parents: 7e50956
Author: plusplusjiajia <ji...@intel.com>
Authored: Wed Aug 2 13:17:22 2017 +0800
Committer: plusplusjiajia <ji...@intel.com>
Committed: Wed Aug 2 13:18:43 2017 +0800

----------------------------------------------------------------------
 .../apache/kerby/kerberos/kerb/client/KrbOption.java   |  2 +-
 .../kerb/client/request/AsRequestWithKeytab.java       | 13 +++++++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/69708a37/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbOption.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbOption.java b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbOption.java
index 61e6cd4..91de491 100644
--- a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbOption.java
+++ b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/KrbOption.java
@@ -61,7 +61,7 @@ public enum KrbOption implements KOption {
     USER_PASSWD(new KOptionInfo("user-passwd", "User plain password")),
 
     USE_KEYTAB(new KOptionInfo("-k", "use keytab")),
-    USE_DFT_KEYTAB(new KOptionInfo("use-dft-keytab", "use default client keytab (with -k)")),
+    USE_DFT_KEYTAB(new KOptionInfo("-i", "use default client keytab (with -k)")),
     KEYTAB_FILE(new KOptionInfo("-t", "filename of keytab to use",
         KOptionType.FILE)),
 

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/69708a37/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/request/AsRequestWithKeytab.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/request/AsRequestWithKeytab.java b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/request/AsRequestWithKeytab.java
index b6d1653..7726a26 100644
--- a/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/request/AsRequestWithKeytab.java
+++ b/kerby-kerb/kerb-client/src/main/java/org/apache/kerby/kerberos/kerb/client/request/AsRequestWithKeytab.java
@@ -46,6 +46,19 @@ public class AsRequestWithKeytab extends AsRequest {
             keytabFile = kOptions.getFileOption(KrbOption.KEYTAB_FILE);
         }
 
+        if (kOptions.contains(KrbOption.USE_DFT_KEYTAB)) {
+            final String clientKeytabEnv = System.getenv("KRB5_CLIENT_KTNAME");
+            final String clientKeytabDft = getContext().getConfig().getString(
+                "default_client_keytab_name");
+            if (clientKeytabEnv != null) {
+                keytabFile = new File(clientKeytabEnv);
+            } else if (clientKeytabDft != null) {
+                keytabFile = new File(clientKeytabDft);
+            } else {
+                System.err.println("Default client keytab file not found.");
+            }
+        }
+
         Keytab keytab = null;
         try {
             keytab =  Keytab.loadKeytab(keytabFile);