Author: kturner
Date: Thu Sep 13 22:01:41 2012
New Revision: 1384558
URL: http://svn.apache.org/viewvc?rev=1384558&view=rev
Log:
ACCUMULO-241 fixed bug in Authorizations serialization introduced in recent
changes
Modified:
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/Authorizations.java
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/security/AuthorizationsTest.java
Modified:
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/Authorizations.java
URL:
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/Authorizations.java?rev=1384558&r1=1384557&r2=1384558&view=diff
==============================================================================
---
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/Authorizations.java
(original)
+++
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/Authorizations.java
Thu Sep 13 22:01:41 2012
@@ -111,11 +111,14 @@ public class Authorizations implements I
String authsString = new String(authorizations);
if (authsString.startsWith(HEADER)) {
// its the new format
- for (String encAuth : authsString.substring(HEADER.length()).split(","))
{
- byte[] auth = Base64.decodeBase64(encAuth.getBytes());
- auths.add(new ArrayByteSequence(auth));
+ authsString = authsString.substring(HEADER.length());
+ if (authsString.length() > 0) {
+ for (String encAuth : authsString.split(",")) {
+ byte[] auth = Base64.decodeBase64(encAuth.getBytes());
+ auths.add(new ArrayByteSequence(auth));
+ }
+ checkAuths();
}
- checkAuths();
} else {
// its the old format
ArgumentChecker.notNull(authorizations);
Modified:
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/security/AuthorizationsTest.java
URL:
http://svn.apache.org/viewvc/accumulo/trunk/core/src/test/java/org/apache/accumulo/core/security/AuthorizationsTest.java?rev=1384558&r1=1384557&r2=1384558&view=diff
==============================================================================
---
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/security/AuthorizationsTest.java
(original)
+++
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/security/AuthorizationsTest.java
Thu Sep 13 22:01:41 2012
@@ -35,6 +35,12 @@ public class AuthorizationsTest {
byte[] array = a.getAuthorizationsArray();
Authorizations b = new Authorizations(array);
assertEquals(a, b);
+
+ // test encoding empty auths
+ a = new Authorizations();
+ array = a.getAuthorizationsArray();
+ b = new Authorizations(array);
+ assertEquals(a, b);
}
}