You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by vi...@apache.org on 2013/02/28 22:45:34 UTC
svn commit: r1451368 - in
/accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core:
client/impl/thrift/ client/security/ client/security/tokens/
security/thrift/ security/tokens/
Author: vines
Date: Thu Feb 28 21:45:34 2013
New Revision: 1451368
URL: http://svn.apache.org/r1451368
Log:
ACCUMULO-1133 - moved files... right
Added:
accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/SecurityErrorCode.java (with props)
accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftSecurityException.java (with props)
accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/
accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/
accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/AuthenticationToken.java (with props)
accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/NullToken.java (with props)
accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/PasswordToken.java (with props)
accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/SystemToken.java (with props)
Removed:
accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/security/thrift/SecurityErrorCode.java
accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/security/thrift/ThriftSecurityException.java
accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/security/tokens/
Added: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/SecurityErrorCode.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/SecurityErrorCode.java?rev=1451368&view=auto
==============================================================================
--- accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/SecurityErrorCode.java (added)
+++ accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/SecurityErrorCode.java Thu Feb 28 21:45:34 2013
@@ -0,0 +1,109 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * Autogenerated by Thrift Compiler (0.9.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.accumulo.core.client.impl.thrift;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+@SuppressWarnings("all") public enum SecurityErrorCode implements org.apache.thrift.TEnum {
+ DEFAULT_SECURITY_ERROR(0),
+ BAD_CREDENTIALS(1),
+ PERMISSION_DENIED(2),
+ USER_DOESNT_EXIST(3),
+ CONNECTION_ERROR(4),
+ USER_EXISTS(5),
+ GRANT_INVALID(6),
+ BAD_AUTHORIZATIONS(7),
+ INVALID_INSTANCEID(8),
+ TABLE_DOESNT_EXIST(9),
+ UNSUPPORTED_OPERATION(10),
+ INVALID_TOKEN(11),
+ AUTHENTICATOR_FAILED(12),
+ AUTHORIZOR_FAILED(13),
+ PERMISSIONHANDLER_FAILED(14),
+ TOKEN_EXPIRED(15),
+ SERIALIZATION_ERROR(16),
+ INSUFFICIENT_PROPERTIES(17);
+
+ private final int value;
+
+ private SecurityErrorCode(int value) {
+ this.value = value;
+ }
+
+ /**
+ * Get the integer value of this enum value, as defined in the Thrift IDL.
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * Find a the enum type by its integer value, as defined in the Thrift IDL.
+ * @return null if the value is not found.
+ */
+ public static SecurityErrorCode findByValue(int value) {
+ switch (value) {
+ case 0:
+ return DEFAULT_SECURITY_ERROR;
+ case 1:
+ return BAD_CREDENTIALS;
+ case 2:
+ return PERMISSION_DENIED;
+ case 3:
+ return USER_DOESNT_EXIST;
+ case 4:
+ return CONNECTION_ERROR;
+ case 5:
+ return USER_EXISTS;
+ case 6:
+ return GRANT_INVALID;
+ case 7:
+ return BAD_AUTHORIZATIONS;
+ case 8:
+ return INVALID_INSTANCEID;
+ case 9:
+ return TABLE_DOESNT_EXIST;
+ case 10:
+ return UNSUPPORTED_OPERATION;
+ case 11:
+ return INVALID_TOKEN;
+ case 12:
+ return AUTHENTICATOR_FAILED;
+ case 13:
+ return AUTHORIZOR_FAILED;
+ case 14:
+ return PERMISSIONHANDLER_FAILED;
+ case 15:
+ return TOKEN_EXPIRED;
+ case 16:
+ return SERIALIZATION_ERROR;
+ case 17:
+ return INSUFFICIENT_PROPERTIES;
+ default:
+ return null;
+ }
+ }
+}
Propchange: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/SecurityErrorCode.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftSecurityException.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftSecurityException.java?rev=1451368&view=auto
==============================================================================
--- accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftSecurityException.java (added)
+++ accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftSecurityException.java Thu Feb 28 21:45:34 2013
@@ -0,0 +1,518 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * Autogenerated by Thrift Compiler (0.9.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.accumulo.core.client.impl.thrift;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings("all") public class ThriftSecurityException extends TException implements org.apache.thrift.TBase<ThriftSecurityException, ThriftSecurityException._Fields>, java.io.Serializable, Cloneable {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ThriftSecurityException");
+
+ private static final org.apache.thrift.protocol.TField USER_FIELD_DESC = new org.apache.thrift.protocol.TField("user", org.apache.thrift.protocol.TType.STRING, (short)1);
+ private static final org.apache.thrift.protocol.TField CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("code", org.apache.thrift.protocol.TType.I32, (short)2);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new ThriftSecurityExceptionStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new ThriftSecurityExceptionTupleSchemeFactory());
+ }
+
+ public String user; // required
+ /**
+ *
+ * @see SecurityErrorCode
+ */
+ public SecurityErrorCode code; // required
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ USER((short)1, "user"),
+ /**
+ *
+ * @see SecurityErrorCode
+ */
+ CODE((short)2, "code");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // USER
+ return USER;
+ case 2: // CODE
+ return CODE;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.USER, new org.apache.thrift.meta_data.FieldMetaData("user", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.CODE, new org.apache.thrift.meta_data.FieldMetaData("code", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, SecurityErrorCode.class)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ThriftSecurityException.class, metaDataMap);
+ }
+
+ public ThriftSecurityException() {
+ }
+
+ public ThriftSecurityException(
+ String user,
+ SecurityErrorCode code)
+ {
+ this();
+ this.user = user;
+ this.code = code;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public ThriftSecurityException(ThriftSecurityException other) {
+ if (other.isSetUser()) {
+ this.user = other.user;
+ }
+ if (other.isSetCode()) {
+ this.code = other.code;
+ }
+ }
+
+ public ThriftSecurityException deepCopy() {
+ return new ThriftSecurityException(this);
+ }
+
+ @Override
+ public void clear() {
+ this.user = null;
+ this.code = null;
+ }
+
+ public String getUser() {
+ return this.user;
+ }
+
+ public ThriftSecurityException setUser(String user) {
+ this.user = user;
+ return this;
+ }
+
+ public void unsetUser() {
+ this.user = null;
+ }
+
+ /** Returns true if field user is set (has been assigned a value) and false otherwise */
+ public boolean isSetUser() {
+ return this.user != null;
+ }
+
+ public void setUserIsSet(boolean value) {
+ if (!value) {
+ this.user = null;
+ }
+ }
+
+ /**
+ *
+ * @see SecurityErrorCode
+ */
+ public SecurityErrorCode getCode() {
+ return this.code;
+ }
+
+ /**
+ *
+ * @see SecurityErrorCode
+ */
+ public ThriftSecurityException setCode(SecurityErrorCode code) {
+ this.code = code;
+ return this;
+ }
+
+ public void unsetCode() {
+ this.code = null;
+ }
+
+ /** Returns true if field code is set (has been assigned a value) and false otherwise */
+ public boolean isSetCode() {
+ return this.code != null;
+ }
+
+ public void setCodeIsSet(boolean value) {
+ if (!value) {
+ this.code = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case USER:
+ if (value == null) {
+ unsetUser();
+ } else {
+ setUser((String)value);
+ }
+ break;
+
+ case CODE:
+ if (value == null) {
+ unsetCode();
+ } else {
+ setCode((SecurityErrorCode)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case USER:
+ return getUser();
+
+ case CODE:
+ return getCode();
+
+ }
+ throw new IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (field) {
+ case USER:
+ return isSetUser();
+ case CODE:
+ return isSetCode();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof ThriftSecurityException)
+ return this.equals((ThriftSecurityException)that);
+ return false;
+ }
+
+ public boolean equals(ThriftSecurityException that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_user = true && this.isSetUser();
+ boolean that_present_user = true && that.isSetUser();
+ if (this_present_user || that_present_user) {
+ if (!(this_present_user && that_present_user))
+ return false;
+ if (!this.user.equals(that.user))
+ return false;
+ }
+
+ boolean this_present_code = true && this.isSetCode();
+ boolean that_present_code = true && that.isSetCode();
+ if (this_present_code || that_present_code) {
+ if (!(this_present_code && that_present_code))
+ return false;
+ if (!this.code.equals(that.code))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ return 0;
+ }
+
+ public int compareTo(ThriftSecurityException other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+ ThriftSecurityException typedOther = (ThriftSecurityException)other;
+
+ lastComparison = Boolean.valueOf(isSetUser()).compareTo(typedOther.isSetUser());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetUser()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.user, typedOther.user);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetCode()).compareTo(typedOther.isSetCode());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetCode()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.code, typedOther.code);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("ThriftSecurityException(");
+ boolean first = true;
+
+ sb.append("user:");
+ if (this.user == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.user);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("code:");
+ if (this.code == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.code);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class ThriftSecurityExceptionStandardSchemeFactory implements SchemeFactory {
+ public ThriftSecurityExceptionStandardScheme getScheme() {
+ return new ThriftSecurityExceptionStandardScheme();
+ }
+ }
+
+ private static class ThriftSecurityExceptionStandardScheme extends StandardScheme<ThriftSecurityException> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, ThriftSecurityException struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // USER
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.user = iprot.readString();
+ struct.setUserIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // CODE
+ if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+ struct.code = SecurityErrorCode.findByValue(iprot.readI32());
+ struct.setCodeIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, ThriftSecurityException struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.user != null) {
+ oprot.writeFieldBegin(USER_FIELD_DESC);
+ oprot.writeString(struct.user);
+ oprot.writeFieldEnd();
+ }
+ if (struct.code != null) {
+ oprot.writeFieldBegin(CODE_FIELD_DESC);
+ oprot.writeI32(struct.code.getValue());
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class ThriftSecurityExceptionTupleSchemeFactory implements SchemeFactory {
+ public ThriftSecurityExceptionTupleScheme getScheme() {
+ return new ThriftSecurityExceptionTupleScheme();
+ }
+ }
+
+ private static class ThriftSecurityExceptionTupleScheme extends TupleScheme<ThriftSecurityException> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, ThriftSecurityException struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ BitSet optionals = new BitSet();
+ if (struct.isSetUser()) {
+ optionals.set(0);
+ }
+ if (struct.isSetCode()) {
+ optionals.set(1);
+ }
+ oprot.writeBitSet(optionals, 2);
+ if (struct.isSetUser()) {
+ oprot.writeString(struct.user);
+ }
+ if (struct.isSetCode()) {
+ oprot.writeI32(struct.code.getValue());
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, ThriftSecurityException struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ BitSet incoming = iprot.readBitSet(2);
+ if (incoming.get(0)) {
+ struct.user = iprot.readString();
+ struct.setUserIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.code = SecurityErrorCode.findByValue(iprot.readI32());
+ struct.setCodeIsSet(true);
+ }
+ }
+ }
+
+}
+
Propchange: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftSecurityException.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/AuthenticationToken.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/AuthenticationToken.java?rev=1451368&view=auto
==============================================================================
--- accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/AuthenticationToken.java (added)
+++ accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/AuthenticationToken.java Thu Feb 28 21:45:34 2013
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.client.security.tokens;
+
+import javax.security.auth.Destroyable;
+
+import org.apache.hadoop.io.Writable;
+
+public interface AuthenticationToken extends Writable, Destroyable, Cloneable {
+ public AuthenticationToken clone();
+}
Propchange: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/AuthenticationToken.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/NullToken.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/NullToken.java?rev=1451368&view=auto
==============================================================================
--- accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/NullToken.java (added)
+++ accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/NullToken.java Thu Feb 28 21:45:34 2013
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.client.security.tokens;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import javax.security.auth.DestroyFailedException;
+
+/**
+ *
+ */
+public class NullToken implements AuthenticationToken {
+
+ @Override
+ public void readFields(DataInput arg0) throws IOException {
+ return;
+ }
+
+ @Override
+ public void write(DataOutput arg0) throws IOException {
+ return;
+ }
+
+ @Override
+ public void destroy() throws DestroyFailedException {
+ return;
+ }
+
+ @Override
+ public boolean isDestroyed() {
+ return false;
+ }
+
+ public NullToken clone() {
+ return new NullToken();
+ }
+}
Propchange: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/NullToken.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/PasswordToken.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/PasswordToken.java?rev=1451368&view=auto
==============================================================================
--- accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/PasswordToken.java (added)
+++ accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/PasswordToken.java Thu Feb 28 21:45:34 2013
@@ -0,0 +1,112 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.client.security.tokens;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+
+import javax.security.auth.DestroyFailedException;
+
+import org.apache.accumulo.core.Constants;
+import org.apache.accumulo.core.util.ByteBufferUtil;
+import org.apache.hadoop.io.Writable;
+import org.apache.hadoop.io.WritableUtils;
+
+public class PasswordToken implements AuthenticationToken {
+ private byte[] password = null;
+
+ public byte[] getPassword() {
+ return password;
+ }
+
+ /**
+ * Constructor for use with {@link Writable}. Call {@link #readFields(DataInput)}.
+ */
+ public PasswordToken() {}
+
+ /**
+ * Constructs a token from a copy of the password. Destroying the argument after construction will not destroy the copy in this token, and destroying this
+ * token will only destroy the copy held inside this token, not the argument.
+ *
+ * Password tokens created with this constructor will store the password as UTF-8 bytes.
+ */
+ public PasswordToken(CharSequence password) {
+ this.password = password.toString().getBytes(Constants.UTF8);
+ }
+
+ /**
+ * Constructs a token from a copy of the password. Destroying the argument after construction will not destroy the copy in this token, and destroying this
+ * token will only destroy the copy held inside this token, not the argument.
+ */
+ public PasswordToken(byte[] password) {
+ this.password = Arrays.copyOf(password, password.length);
+ }
+
+ /**
+ * Constructs a token from a copy of the password. Destroying the argument after construction will not destroy the copy in this token, and destroying this
+ * token will only destroy the copy held inside this token, not the argument.
+ */
+ public PasswordToken(ByteBuffer password) {
+ this.password = ByteBufferUtil.toBytes(password);
+ }
+
+ @Override
+ public void readFields(DataInput arg0) throws IOException {
+ password = WritableUtils.readCompressedByteArray(arg0);
+ }
+
+ @Override
+ public void write(DataOutput arg0) throws IOException {
+ WritableUtils.writeCompressedByteArray(arg0, password);
+ }
+
+ @Override
+ public void destroy() throws DestroyFailedException {
+ Arrays.fill(password, (byte) 0x00);
+ password = null;
+ }
+
+ @Override
+ public boolean isDestroyed() {
+ return password == null;
+ }
+
+ @Override
+ public int hashCode() {
+ return Arrays.hashCode(password);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (!(obj instanceof PasswordToken))
+ return false;
+ PasswordToken other = (PasswordToken) obj;
+ return Arrays.equals(password, other.password);
+ }
+
+ @Override
+ public PasswordToken clone() {
+ return new PasswordToken(password);
+ }
+}
Propchange: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/PasswordToken.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/SystemToken.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/SystemToken.java?rev=1451368&view=auto
==============================================================================
--- accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/SystemToken.java (added)
+++ accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/SystemToken.java Thu Feb 28 21:45:34 2013
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.client.security.tokens;
+
+/**
+ *
+ */
+public class SystemToken extends PasswordToken {
+
+ public SystemToken(byte[] systemPassword) {
+ super(systemPassword);
+ }
+}
Propchange: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/SystemToken.java
------------------------------------------------------------------------------
svn:eol-style = native