diff options
Diffstat (limited to 'framework/src/onos/utils/misc/src/main/java/org/onlab/packet/EAP.java')
-rw-r--r-- | framework/src/onos/utils/misc/src/main/java/org/onlab/packet/EAP.java | 264 |
1 files changed, 0 insertions, 264 deletions
diff --git a/framework/src/onos/utils/misc/src/main/java/org/onlab/packet/EAP.java b/framework/src/onos/utils/misc/src/main/java/org/onlab/packet/EAP.java deleted file mode 100644 index 516938a4..00000000 --- a/framework/src/onos/utils/misc/src/main/java/org/onlab/packet/EAP.java +++ /dev/null @@ -1,264 +0,0 @@ -/* - * - * * Copyright 2015 AT&T Foundry - * * - * * Licensed 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.onlab.packet; - -import java.nio.ByteBuffer; - -import static org.onlab.packet.PacketUtils.checkHeaderLength; -import static org.onlab.packet.PacketUtils.checkInput; - -/** - * EAP (Extensible Authentication Protocol) packet. - */ -public class EAP extends BasePacket { - private static final int HEADER_LENGTH = 4; - - public static final short MIN_LEN = 0x4; - public static final short EAP_HDR_LEN_REQ_RESP = 5; - public static final short EAP_HDR_LEN_SUC_FAIL = 4; - - // EAP Code - public static final byte REQUEST = 0x1; - public static final byte RESPONSE = 0x2; - public static final byte SUCCESS = 0x3; - public static final byte FAILURE = 0x4; - - // EAP Attribute Type - public static final byte ATTR_IDENTITY = 0x1; - public static final byte ATTR_NOTIFICATION = 0x2; - public static final byte ATTR_NAK = 0x3; - public static final byte ATTR_MD5 = 0x4; - public static final byte ATTR_OTP = 0x5; - public static final byte ATTR_GTC = 0x6; - public static final byte ATTR_TLS = 0xd; - - protected byte code; - protected byte identifier; - protected short length; - protected byte type; - protected byte[] data; - - - /** - * Gets the EAP code. - * - * @return EAP code - */ - public byte getCode() { - return this.code; - } - - - /** - * Sets the EAP code. - * - * @param code EAP code - * @return this - */ - public EAP setCode(final byte code) { - this.code = code; - return this; - } - - /** - * Gets the EAP identifier. - * - * @return EAP identifier - */ - public byte getIdentifier() { - return this.identifier; - } - - /** - * Sets the EAP identifier. - * - * @param identifier EAP identifier - * @return this - */ - public EAP setIdentifier(final byte identifier) { - this.identifier = identifier; - return this; - } - - /** - * Gets the get packet length. - * - * @return packet length - */ - public short getLength() { - return this.length; - } - - /** - * Sets the packet length. - * - * @param length packet length - * @return this - */ - public EAP setLength(final short length) { - this.length = length; - return this; - } - - /** - * Gets the data type. - * - * @return data type - */ - public byte getDataType() { - return this.type; - } - - /** - * Sets the data type. - * - * @param type data type - * @return this - */ - public EAP setDataType(final byte type) { - this.type = type; - return this; - } - - /** - * Gets the EAP data. - * - * @return EAP data - */ - public byte[] getData() { - return this.data; - } - - /** - * Sets the EAP data. - * - * @param data EAP data to be set - * @return this - */ - public EAP setData(final byte[] data) { - this.data = data; - return this; - } - - /** - * Default EAP constructor that sets the EAP code to 0. - */ - public EAP() { - this.code = 0; - } - - /** - * EAP constructor that initially sets all fields. - * - * @param code EAP code - * @param identifier EAP identifier - * @param type packet type - * @param data EAP data - */ - public EAP(byte code, byte identifier, byte type, byte[] data) { - this.code = code; - this.identifier = identifier; - if (this.code == REQUEST || this.code == RESPONSE) { - this.length = (short) (5 + (data == null ? 0 : data.length)); - this.type = type; - } else { - this.length = (short) (4 + (data == null ? 0 : data.length)); - } - this.data = data; - } - - /** - * Deserializer for EAP packets. - * - * @return deserializer - */ - public static Deserializer<EAP> deserializer() { - return (data, offset, length) -> { - checkInput(data, offset, length, HEADER_LENGTH); - - EAP eap = new EAP(); - final ByteBuffer bb = ByteBuffer.wrap(data, offset, length); - eap.code = bb.get(); - eap.identifier = bb.get(); - eap.length = bb.getShort(); - - checkHeaderLength(length, eap.length); - - int dataLength; - if (eap.code == REQUEST || eap.code == RESPONSE) { - eap.type = bb.get(); - dataLength = eap.length - 5; - } else { - dataLength = eap.length - 4; - } - - eap.data = new byte[dataLength]; - bb.get(eap.data); - return eap; - }; - } - - @Override - public byte[] serialize() { - final byte[] data = new byte[this.length]; - - final ByteBuffer bb = ByteBuffer.wrap(data); - bb.put(this.code); - bb.put(this.identifier); - bb.putShort(this.length); - if (this.code == REQUEST || this.code == RESPONSE) { - bb.put(this.type); - } - if (this.data != null) { - bb.put(this.data); - } - return data; - } - - @Override - public IPacket deserialize(final byte[] data, final int offset, - final int length) { - final ByteBuffer bb = ByteBuffer.wrap(data, offset, length); - this.code = bb.get(); - this.identifier = bb.get(); - this.length = bb.getShort(); - - int dataLength; - if (this.code == REQUEST || this.code == RESPONSE) { - this.type = bb.get(); - dataLength = this.length - 5; - } else { - dataLength = this.length - 4; - } - this.data = new byte[dataLength]; - bb.get(this.data); - return this; - } - - @Override - public int hashCode() { - final int prime = 3889; - int result = super.hashCode(); - result = prime * result + this.code; - result = prime * result + this.identifier; - result = prime * result + this.length; - result = prime * result + this.type; - return result; - } -} |