Author: ddas
Date: Sat Jan 30 19:57:39 2010
New Revision: 904861

URL: http://svn.apache.org/viewvc?rev=904861&view=rev
Log:
HADOOP-6520. Adds APIs to read/write Token and secret keys. Also adds the 
automatic loading of tokens into UserGroupInformation upon login. The tokens 
are read from a file specified in the environment variable. Contributed by 
Devaraj Das.

Modified:
    hadoop/common/trunk/CHANGES.txt
    
hadoop/common/trunk/src/java/org/apache/hadoop/security/UserGroupInformation.java

Modified: hadoop/common/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/CHANGES.txt?rev=904861&r1=904860&r2=904861&view=diff
==============================================================================
--- hadoop/common/trunk/CHANGES.txt (original)
+++ hadoop/common/trunk/CHANGES.txt Sat Jan 30 19:57:39 2010
@@ -43,6 +43,11 @@
 
     HADOOP-6464. Write a Rackspace cloud provider. (tomwhite)
 
+    HADOOP-6520. Adds APIs to read/write Token and secret keys. Also
+    adds the automatic loading of tokens into UserGroupInformation
+    upon login. The tokens are read from a file specified in the
+    environment variable. (ddas)
+
   IMPROVEMENTS
 
     HADOOP-6283. Improve the exception messages thrown by

Modified: 
hadoop/common/trunk/src/java/org/apache/hadoop/security/UserGroupInformation.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/src/java/org/apache/hadoop/security/UserGroupInformation.java?rev=904861&r1=904860&r2=904861&view=diff
==============================================================================
--- 
hadoop/common/trunk/src/java/org/apache/hadoop/security/UserGroupInformation.java
 (original)
+++ 
hadoop/common/trunk/src/java/org/apache/hadoop/security/UserGroupInformation.java
 Sat Jan 30 19:57:39 2010
@@ -34,7 +34,6 @@
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -132,6 +131,10 @@
   /** Server-side groups fetching service */
   private static Groups groups;
   
+  /**Environment variable pointing to the token cache file*/
+  public static final String HADOOP_TOKEN_FILE_LOCATION = 
+    "HADOOP_TOKEN_FILE_LOCATION";
+  
   /** 
    * A method to initialize the fields that depend on a configuration.
    * Must be called before useKerberos or groups is used.
@@ -317,6 +320,10 @@
         }
         login.login();
         loginUser = new UserGroupInformation(login.getSubject());
+        String tokenFile = System.getenv(HADOOP_TOKEN_FILE_LOCATION);
+        if (tokenFile != null && isSecurityEnabled()) {
+          TokenStorage.readTokensAndLoadInUGI(tokenFile, new Configuration(), 
loginUser);
+        }
       } catch (LoginException le) {
         throw new IOException("failure to login", le);
       }


Reply via email to