Author: jitendra
Date: Sat Jan 28 02:44:12 2012
New Revision: 1236963

URL: http://svn.apache.org/viewvc?rev=1236963&view=rev
Log:
HADOOP-7988. Upper case in hostname part of the principals doesn't work with 
kerberos.

Modified:
    hadoop/common/branches/branch-1/CHANGES.txt
    
hadoop/common/branches/branch-1/src/core/org/apache/hadoop/security/SecurityUtil.java
    
hadoop/common/branches/branch-1/src/test/org/apache/hadoop/security/TestSecurityUtil.java

Modified: hadoop/common/branches/branch-1/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/CHANGES.txt?rev=1236963&r1=1236962&r2=1236963&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/CHANGES.txt (original)
+++ hadoop/common/branches/branch-1/CHANGES.txt Sat Jan 28 02:44:12 2012
@@ -89,6 +89,9 @@ Release 1.1.0 - unreleased
     HADOOP-7982. UserGroupInformation fails to login if thread's context
     classloader can't load HadoopLoginModule. (todd)
 
+    HADOOP-7988. Upper case in hostname part of the principals doesn't work 
with 
+    kerberos. (jitendra)
+
   IMPROVEMENTS
 
     MAPREDUCE-2517. Add system tests to Gridmix. (Vinay Thota via amarrk)

Modified: 
hadoop/common/branches/branch-1/src/core/org/apache/hadoop/security/SecurityUtil.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/src/core/org/apache/hadoop/security/SecurityUtil.java?rev=1236963&r1=1236962&r2=1236963&view=diff
==============================================================================
--- 
hadoop/common/branches/branch-1/src/core/org/apache/hadoop/security/SecurityUtil.java
 (original)
+++ 
hadoop/common/branches/branch-1/src/core/org/apache/hadoop/security/SecurityUtil.java
 Sat Jan 28 02:44:12 2012
@@ -210,7 +210,7 @@ public class SecurityUtil {
     if (fqdn == null || fqdn.equals("") || fqdn.equals("0.0.0.0")) {
       fqdn = getLocalHostName();
     }
-    return components[0] + "/" + fqdn + "@" + components[2];
+    return components[0] + "/" + fqdn.toLowerCase() + "@" + components[2];
   }
   
   static String getLocalHostName() throws UnknownHostException {

Modified: 
hadoop/common/branches/branch-1/src/test/org/apache/hadoop/security/TestSecurityUtil.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/src/test/org/apache/hadoop/security/TestSecurityUtil.java?rev=1236963&r1=1236962&r2=1236963&view=diff
==============================================================================
--- 
hadoop/common/branches/branch-1/src/test/org/apache/hadoop/security/TestSecurityUtil.java
 (original)
+++ 
hadoop/common/branches/branch-1/src/test/org/apache/hadoop/security/TestSecurityUtil.java
 Sat Jan 28 02:44:12 2012
@@ -84,6 +84,16 @@ public class TestSecurityUtil {
   }
   
   @Test
+  public void testPrincipalsWithLowerCaseHosts() throws IOException {
+    String service = "xyz/";
+    String realm = "@REALM";
+    String principalInConf = service + SecurityUtil.HOSTNAME_PATTERN + realm;
+    String hostname = "FooHost";
+    String principal = service + hostname.toLowerCase() + realm;
+    verify(principalInConf, hostname, principal);
+  }
+  
+  @Test
   public void testLocalHostNameForNullOrWild() throws Exception {
     String local = SecurityUtil.getLocalHostName();
     assertEquals("hdfs/" + local + "@REALM", SecurityUtil.getServerPrincipal(


Reply via email to