Author: jitendra
Date: Tue Nov 1 23:15:13 2011
New Revision: 1196386
URL: http://svn.apache.org/viewvc?rev=1196386&view=rev
Log:
HADOOP-7792. Common component for HDFS-2416: Add verifyToken method to
AbstractDelegationTokenSecretManager.
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenSecretManager.java
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/token/delegation/TestDelegationToken.java
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1196386&r1=1196385&r2=1196386&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Tue Nov
1 23:15:13 2011
@@ -52,6 +52,9 @@ Trunk (unreleased changes)
HADOOP-7424. Log an error if the topology script doesn't handle multiple
args.
(Uma Maheswara Rao G via eli)
+ HADOOP-7792. Add verifyToken method to
AbstractDelegationTokenSecretManager.
+ (jitendra)
+
BUGS
HADOOP-7606. Upgrade Jackson to version 1.7.1 to match the version required
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenSecretManager.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenSecretManager.java?rev=1196386&r1=1196385&r2=1196386&view=diff
==============================================================================
---
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenSecretManager.java
(original)
+++
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/AbstractDelegationTokenSecretManager.java
Tue Nov 1 23:15:13 2011
@@ -210,6 +210,21 @@ extends AbstractDelegationTokenIdentifie
}
/**
+ * Verifies that the given identifier and password are valid and match.
+ * @param identifier Token identifier.
+ * @param password Password in the token.
+ * @throws InvalidToken
+ */
+ public synchronized void verifyToken(TokenIdent identifier, byte[] password)
+ throws InvalidToken {
+ byte[] storedPassword = retrievePassword(identifier);
+ if (!Arrays.equals(password, storedPassword)) {
+ throw new InvalidToken("token (" + identifier
+ + ") is invalid, password doesn't match");
+ }
+ }
+
+ /**
* Renew a delegation token.
* @param token the token to renew
* @param renewer the full principal name of the user doing the renewal
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/token/delegation/TestDelegationToken.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/token/delegation/TestDelegationToken.java?rev=1196386&r1=1196385&r2=1196386&view=diff
==============================================================================
---
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/token/delegation/TestDelegationToken.java
(original)
+++
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/token/delegation/TestDelegationToken.java
Tue Nov 1 23:15:13 2011
@@ -360,6 +360,8 @@ public class TestDelegationToken {
byte[] storedPassword = dtSecretManager.retrievePassword(id);
byte[] password = dtSecretManager.createPassword(id, key);
Assert.assertTrue(Arrays.equals(password, storedPassword));
+ //verify by secret manager api
+ dtSecretManager.verifyToken(id, password);
}
} finally {
dtSecretManager.stopThreads();