HADOOP-15123. KDiag tries to load krb5.conf from KRB5CCNAME instead of KRB5_CONFIG. Contributed by Vipin Rathor.
(cherry picked from commit 1ef906e29e0989aafcb35c51ad2acbb262b3c8e7) (cherry picked from commit f61edab1d0ea08b6d752ecdfb6068103822012ec) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/de630708 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/de630708 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/de630708 Branch: refs/heads/HDFS-7240 Commit: de630708d1912b3e4fa31e00f5d84a08a580e763 Parents: f274fe3 Author: Steve Loughran <[email protected]> Authored: Thu Jan 18 12:29:36 2018 +0000 Committer: Steve Loughran <[email protected]> Committed: Thu Jan 18 12:35:57 2018 +0000 ---------------------------------------------------------------------- .../java/org/apache/hadoop/security/KDiag.java | 30 ++++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/de630708/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/KDiag.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/KDiag.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/KDiag.java index c8d0b33..b4e535c 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/KDiag.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/KDiag.java @@ -81,6 +81,11 @@ public class KDiag extends Configured implements Tool, Closeable { * variable. This is what kinit will use by default: {@value} */ public static final String KRB5_CCNAME = "KRB5CCNAME"; + /** + * Location of main kerberos configuration file as passed down via an + * environment variable. + */ + public static final String KRB5_CONFIG = "KRB5_CONFIG"; public static final String JAVA_SECURITY_KRB5_CONF = "java.security.krb5.conf"; public static final String JAVA_SECURITY_KRB5_REALM @@ -321,14 +326,15 @@ public class KDiag extends Configured implements Tool, Closeable { title("Environment Variables"); for (String env : new String[]{ - HADOOP_JAAS_DEBUG, - KRB5_CCNAME, - HADOOP_USER_NAME, - HADOOP_PROXY_USER, - HADOOP_TOKEN_FILE_LOCATION, - "HADOOP_SECURE_LOG", - "HADOOP_OPTS", - "HADOOP_CLIENT_OPTS", + HADOOP_JAAS_DEBUG, + KRB5_CCNAME, + KRB5_CONFIG, + HADOOP_USER_NAME, + HADOOP_PROXY_USER, + HADOOP_TOKEN_FILE_LOCATION, + "HADOOP_SECURE_LOG", + "HADOOP_OPTS", + "HADOOP_CLIENT_OPTS", }) { printEnv(env); } @@ -562,14 +568,14 @@ public class KDiag extends Configured implements Tool, Closeable { krbPath = jvmKrbPath; } - String krb5name = System.getenv(KRB5_CCNAME); + String krb5name = System.getenv(KRB5_CONFIG); if (krb5name != null) { println("Setting kerberos path from environment variable %s: \"%s\"", - KRB5_CCNAME, krb5name); + KRB5_CONFIG, krb5name); krbPath = krb5name; if (jvmKrbPath != null) { println("Warning - both %s and %s were set - %s takes priority", - JAVA_SECURITY_KRB5_CONF, KRB5_CCNAME, KRB5_CCNAME); + JAVA_SECURITY_KRB5_CONF, KRB5_CONFIG, KRB5_CONFIG); } } @@ -919,7 +925,7 @@ public class KDiag extends Configured implements Tool, Closeable { private void dump(File file) throws IOException { try (FileInputStream in = new FileInputStream(file)) { for (String line : IOUtils.readLines(in)) { - println(line); + println("%s", line); } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
