Bläddra i källkod

HDFS-3466. Get HTTP kerberos principal from the web authentication keytab.
(omalley)


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1379648 13f79535-47bb-0310-9956-ffa450edef68

Owen O'Malley 13 år sedan
förälder
incheckning
89efe23ef2

+ 6 - 3
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt

@@ -527,14 +527,17 @@ Release 2.0.1-alpha - UNRELEASED
 
     HDFS-3837. Fix DataNode.recoverBlock findbugs warning. (eli)
 
-    HDFS-3733. Audit logs should include WebHDFS access. (Andy Isaacson via eli)
+    HDFS-3733. Audit logs should include WebHDFS access. (Andy Isaacson via 
+    eli)
 
     HDFS-2686. Remove DistributedUpgrade related code. (suresh)
 
     HDFS-3833. TestDFSShell fails on windows due to concurrent file 
     read/write. (Brandon Li via suresh)
 
-
+    HDFS-3466. Get HTTP kerberos principal from the web authentication keytab.
+    (omalley)
+    
   BREAKDOWN OF HDFS-3042 SUBTASKS
 
     HDFS-2185. HDFS portion of ZK-based FailoverController (todd)
@@ -835,7 +838,7 @@ Release 2.0.0-alpha - 05-23-2012
     (Brandon Li via szetszwo)
 
     HDFS-2617. Replaced Kerberized SSL for image transfer and fsck
-    with SPNEGO-based solution. (jghoman, tucu, and atm via eli)
+    with SPNEGO-based solution. (jghoman, omalley, tucu, and atm via eli)
 
     HDFS-3365. Enable users to disable socket caching in DFS client
     configuration (todd)

+ 5 - 2
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeHttpServer.java

@@ -117,8 +117,11 @@ public class NameNodeHttpServer {
               SecurityUtil.getServerPrincipal(principalInConf,
                                               bindAddress.getHostName()));
         }
-        String httpKeytab = conf
-          .get(DFSConfigKeys.DFS_WEB_AUTHENTICATION_KERBEROS_KEYTAB_KEY);
+        String httpKeytab = conf.get(
+          DFSConfigKeys.DFS_WEB_AUTHENTICATION_KERBEROS_KEYTAB_KEY);
+        if (httpKeytab == null) {
+          httpKeytab = conf.get(DFSConfigKeys.DFS_NAMENODE_KEYTAB_FILE_KEY);
+        }
         if (httpKeytab != null && !httpKeytab.isEmpty()) {
           params.put(
             DFSConfigKeys.DFS_WEB_AUTHENTICATION_KERBEROS_KEYTAB_KEY,