diff options
author | Anil Dahiya <anil_dahiya@infosys.com> | 2016-07-20 14:41:51 +0530 |
---|---|---|
committer | Anil Dahiya <anil_dahiya@infosys.com> | 2016-07-20 14:41:51 +0530 |
commit | 18b2a4ce2a8499e361852c479dbbc958669c82b4 (patch) | |
tree | 58ba8c8c151674437756626521f4203b84550499 | |
parent | 0018645ed6e949dc8e662920503a0b52c5ca980a (diff) | |
download | sdl_android-18b2a4ce2a8499e361852c479dbbc958669c82b4.tar.gz |
Removing ProtocolFrameHeader, ProtocolFrameHeaderFactory which got included during merge with develop and additional cleanup for encryption.
6 files changed, 31 insertions, 338 deletions
diff --git a/sdl_android_lib/src/com/smartdevicelink/protocol/ProtocolFrameHeader.java b/sdl_android_lib/src/com/smartdevicelink/protocol/ProtocolFrameHeader.java deleted file mode 100644 index 58d006e99..000000000 --- a/sdl_android_lib/src/com/smartdevicelink/protocol/ProtocolFrameHeader.java +++ /dev/null @@ -1,159 +0,0 @@ -package com.smartdevicelink.protocol;
-
-import com.smartdevicelink.protocol.enums.FrameType;
-import com.smartdevicelink.protocol.enums.SessionType;
-import com.smartdevicelink.util.BitConverter;
-
-public class ProtocolFrameHeader {
- private byte version = 1;
- private boolean encrypted = false;
- private FrameType frameType = FrameType.Control;
- private SessionType sessionType = SessionType.RPC;
- private byte frameData = 0;
- private byte sessionID;
- private int dataSize;
- private int messageID;
-
- public static final byte FrameDataSingleFrame = 0x00;
- public static final byte FrameDataFirstFrame = 0x00;
- public static final byte FrameDataFinalConsecutiveFrame = 0x00;
-
- public ProtocolFrameHeader() {}
-
- public static ProtocolFrameHeader parseWiProHeader(byte[] header) {
- ProtocolFrameHeader msg = new ProtocolFrameHeader();
-
- byte version = (byte) (header[0] >>> 4);
- msg.setVersion(version);
-
- boolean encrypted = 1 == ((header[0] & 0x08) >>> 3);
- msg.setEncrypted(encrypted);
-
- byte frameType = (byte) (header[0] & 0x07);
- msg.setFrameType(FrameType.valueOf(frameType));
-
- byte serviceType = header[1];
- msg.setSessionType(SessionType.valueOf(serviceType));
-
- byte frameData = header[2];
- msg.setFrameData(frameData);
-
- byte sessionID = header[3];
- msg.setSessionID(sessionID);
-
- int dataSize = BitConverter.intFromByteArray(header, 4);
- msg.setDataSize(dataSize);
-
- if (version > 1) {
- int messageID = BitConverter.intFromByteArray(header, 8);
- msg.setMessageID(messageID);
- } else msg.setMessageID(0);
-
- return msg;
- }
-
- protected byte[] assembleHeaderBytes() {
- int header = 0;
- header |= (version & 0x0F);
- header <<= 1;
- header |= (encrypted ? 1 : 0);
- header <<= 3;
- header |= (frameType.value() & 0x07);
- header <<= 8;
- header |= (sessionType.value() & 0xFF);
- header <<= 8;
- header |= (frameData & 0xFF);
- header <<= 8;
- header |= (sessionID & 0xFF);
-
- if (version == 1) {
- byte[] ret = new byte[8];
- System.arraycopy(BitConverter.intToByteArray(header), 0, ret, 0, 4);
- System.arraycopy(BitConverter.intToByteArray(dataSize), 0, ret, 4, 4);
-
- return ret;
- } else if (version > 1) {
- byte[] ret = new byte[12];
- System.arraycopy(BitConverter.intToByteArray(header), 0, ret, 0, 4);
- System.arraycopy(BitConverter.intToByteArray(dataSize), 0, ret, 4, 4);
- System.arraycopy(BitConverter.intToByteArray(messageID), 0, ret, 8, 4);
-
- return ret;
- } else return null;
- }
-
- public String toString() {
- String ret = "";
- ret += "version " + version + ", " + (encrypted ? "encrypted" : "unencrypted") + "\n";
- ret += "frameType " + frameType + ", serviceType " + sessionType;
- ret += "\nframeData " + frameData;
- ret += ", sessionID " + sessionID;
- ret += ", dataSize " + dataSize;
- ret += ", messageID " + messageID;
- return ret;
- }
-
- public byte getVersion() {
- return version;
- }
-
- public void setVersion(byte version) {
- this.version = version;
- }
-
- public boolean isEncrypted() {
- return encrypted;
- }
-
- public void setEncrypted(boolean encrypted) {
- this.encrypted = encrypted;
- }
-
- public byte getFrameData() {
- return frameData;
- }
-
- public void setFrameData(byte frameData) {
- this.frameData = frameData;
- }
-
- public byte getSessionID() {
- return sessionID;
- }
-
- public void setSessionID(byte sessionID) {
- this.sessionID = sessionID;
- }
-
- public int getDataSize() {
- return dataSize;
- }
-
- public void setDataSize(int dataSize) {
- this.dataSize = dataSize;
- }
-
- public int getMessageID() {
- return messageID;
- }
-
- public void setMessageID(int messageID) {
- this.messageID = messageID;
- }
-
- public FrameType getFrameType() {
- return frameType;
- }
-
- public void setFrameType(FrameType frameType) {
- this.frameType = frameType;
- }
-
- public SessionType getSessionType() {
- return sessionType;
- }
-
- public void setSessionType(SessionType sessionType) {
- this.sessionType = sessionType;
- }
-}
diff --git a/sdl_android_lib/src/com/smartdevicelink/protocol/ProtocolFrameHeaderFactory.java b/sdl_android_lib/src/com/smartdevicelink/protocol/ProtocolFrameHeaderFactory.java deleted file mode 100644 index aade2f9f8..000000000 --- a/sdl_android_lib/src/com/smartdevicelink/protocol/ProtocolFrameHeaderFactory.java +++ /dev/null @@ -1,147 +0,0 @@ -package com.smartdevicelink.protocol;
-
-import com.smartdevicelink.protocol.enums.*;
-
-public class ProtocolFrameHeaderFactory {
-
- public static ProtocolFrameHeader createStartSession(SessionType serviceType, int messageID, byte version, byte sessionID, boolean isEncrypted) {
- ProtocolFrameHeader msg = new ProtocolFrameHeader();
- msg.setVersion(version);
- msg.setFrameType(FrameType.Control);
- msg.setSessionType(serviceType);
- msg.setFrameData(FrameDataControlFrameType.StartSession.value());
- msg.setMessageID(messageID);
- msg.setSessionID(sessionID);
- msg.setEncrypted(isEncrypted);
-
- return msg;
- }
-
- public static ProtocolFrameHeader createHeartbeat(SessionType serviceType, byte sessionID,
- byte version) {
- return createControlFrame(serviceType, sessionID, version,
- FrameDataControlFrameType.Heartbeat);
- }
-
- public static ProtocolFrameHeader createHeartbeatACK(
- SessionType serviceType, byte sessionID, byte version) {
- return createControlFrame(serviceType, sessionID, version,
- FrameDataControlFrameType.HeartbeatACK);
- }
-
- private static ProtocolFrameHeader createControlFrame(SessionType serviceType, byte sessionID, byte version,
- FrameDataControlFrameType frameData) {
- ProtocolFrameHeader msg = new ProtocolFrameHeader();
- msg.setVersion(version);
- msg.setFrameType(FrameType.Control);
- msg.setSessionType(serviceType);
- msg.setSessionID(sessionID);
- msg.setFrameData(frameData.value());
- return msg;
- }
-
- public static ProtocolFrameHeader createStartSessionACK(SessionType serviceType, byte sessionID, int messageID, byte version) {
- ProtocolFrameHeader msg = new ProtocolFrameHeader();
- msg.setVersion(version);
- msg.setFrameType(FrameType.Control);
- msg.setSessionType(serviceType);
- msg.setSessionID(sessionID);
- msg.setFrameData(FrameDataControlFrameType.StartSessionACK.value());
- msg.setMessageID(messageID);
-
- return msg;
- }
-
- public static ProtocolFrameHeader createStartSessionNACK(SessionType serviceType, byte sessionID, int messageID, byte version) {
- ProtocolFrameHeader msg = new ProtocolFrameHeader();
- msg.setVersion(version);
- msg.setFrameType(FrameType.Control);
- msg.setSessionType(serviceType);
- msg.setSessionID(sessionID);
- msg.setFrameData(FrameDataControlFrameType.StartSessionNACK.value());
- msg.setMessageID(messageID);
-
- return msg;
- }
-
- public static ProtocolFrameHeader createEndSession(SessionType serviceType, byte sessionID, int messageID, byte version) {
- ProtocolFrameHeader msg = new ProtocolFrameHeader();
- msg.setVersion(version);
- msg.setFrameType(FrameType.Control);
- msg.setSessionType(serviceType);
- msg.setSessionID(sessionID);
- msg.setFrameData(FrameDataControlFrameType.EndSession.value());
- msg.setMessageID(messageID);
-
- return msg;
- }
-
- public static ProtocolFrameHeader createSingleSendData(SessionType serviceType, byte sessionID,
- int dataLength, int messageID, byte version, boolean isEncrypted) {
- ProtocolFrameHeader msg = new ProtocolFrameHeader();
- msg.setVersion(version);
- msg.setFrameType(FrameType.Single);
- msg.setSessionType(serviceType);
- msg.setFrameData(ProtocolFrameHeader.FrameDataSingleFrame);
- msg.setSessionID(sessionID);
- msg.setDataSize(dataLength);
- msg.setMessageID(messageID);
- msg.setEncrypted(isEncrypted);
-
- return msg;
- }
-
- public static ProtocolFrameHeader createMultiSendDataFirst(SessionType serviceType, byte sessionID,
- int messageID, byte version, boolean isEncrypted) {
- ProtocolFrameHeader msg = new ProtocolFrameHeader();
- msg.setVersion(version);
- msg.setFrameType(FrameType.First);
- msg.setSessionType(serviceType);
- msg.setFrameData(ProtocolFrameHeader.FrameDataFirstFrame);
- msg.setSessionID(sessionID);
- msg.setDataSize(8);
- msg.setMessageID(messageID);
- msg.setEncrypted(isEncrypted);
-
- return msg;
- }
-
- public static ProtocolFrameHeader createMultiSendDataRest(SessionType serviceType, byte sessionID,
- int dataLength, byte frameSequenceNumber, int messageID, byte version, boolean isEncrypted) {
- ProtocolFrameHeader msg = new ProtocolFrameHeader();
- msg.setVersion(version);
- msg.setFrameType(FrameType.Consecutive);
- msg.setSessionType(serviceType);
- msg.setFrameData(frameSequenceNumber/*FrameData.ConsecutiveFrame.value()*/);
- msg.setSessionID(sessionID);
- msg.setDataSize(dataLength);
- msg.setMessageID(messageID);
- msg.setEncrypted(isEncrypted);
-
- return msg;
- }
-
- public static ProtocolFrameHeader createMultiSendDataRest(SessionType serviceType, byte sessionID,
- int dataLength, int messageID, byte version) {
- ProtocolFrameHeader msg = new ProtocolFrameHeader();
- msg.setVersion(version);
- msg.setFrameType(FrameType.Consecutive);
- msg.setSessionType(serviceType);
- msg.setFrameData(FrameData.ConsecutiveFrame.value());
- msg.setSessionID(sessionID);
- msg.setDataSize(dataLength);
- msg.setMessageID(messageID);
-
- return msg;
- }
-
- public static BinaryFrameHeader createBinaryFrameHeader(byte rpcType, int functionID, int corrID, int jsonSize) {
- BinaryFrameHeader msg = new BinaryFrameHeader();
- msg.setRPCType(rpcType);
- msg.setFunctionID(functionID);
- msg.setCorrID(corrID);
- msg.setJsonSize(jsonSize);
-
- return msg;
- }
-}
diff --git a/sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacket.java b/sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacket.java index 9cb871248..9c7a02852 100644 --- a/sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacket.java +++ b/sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacket.java @@ -13,7 +13,7 @@ public class SdlPacket implements Parcelable{ public static final int HEADER_SIZE = 12; public static final int HEADER_SIZE_V1 = 8;//Backwards - private static final int ENCRIPTION_MASK = 0x08; //4th lowest bit + private static final int ENCRYPTION_MASK = 0x08; //4th lowest bit public static final int FRAME_TYPE_CONTROL = 0x00; public static final int FRAME_TYPE_SINGLE = 0x01; @@ -56,7 +56,7 @@ public class SdlPacket implements Parcelable{ int version; - boolean encrypted; + boolean encryption; int frameType; int serviceType; int frameInfo; @@ -66,11 +66,11 @@ public class SdlPacket implements Parcelable{ int priorityCoefficient; byte[] payload = null; - public SdlPacket(int version, boolean encrypted, int frameType, + public SdlPacket(int version, boolean encryption, int frameType, int serviceType, int frameInfo, int sessionId, int dataSize, int messageId, byte[] payload) { this.version = version; - this.encrypted = encrypted; + this.encryption = encryption; this.frameType = frameType; this.serviceType = serviceType; this.frameInfo = frameInfo; @@ -84,11 +84,11 @@ public class SdlPacket implements Parcelable{ } } - public SdlPacket(int version, boolean encrypted, int frameType, + public SdlPacket(int version, boolean encryption, int frameType, int serviceType, int frameInfo, int sessionId, int dataSize, int messageId, byte[] payload, int offset,int bytesToWrite) { this.version = version; - this.encrypted = encrypted; + this.encryption = encryption; this.frameType = frameType; this.serviceType = serviceType; this.frameInfo = frameInfo; @@ -114,7 +114,7 @@ public class SdlPacket implements Parcelable{ //Package only empty constructor //TODO add defaults this.version = 1; - this.encrypted = false; + this.encryption = false; this.frameType = -1; //This NEEDS to be set this.serviceType = -1; this.frameInfo = -1; @@ -130,7 +130,7 @@ public class SdlPacket implements Parcelable{ */ protected SdlPacket(SdlPacket packet){ this.version = packet.version; - this.encrypted = packet.encrypted; + this.encryption = packet.encryption; this.frameType = packet.frameType; this.serviceType = packet.serviceType; this.frameInfo = packet.frameInfo; @@ -144,7 +144,7 @@ public class SdlPacket implements Parcelable{ } public boolean isEncrypted() { - return encrypted; + return encryption; } public FrameType getFrameType() { @@ -186,7 +186,7 @@ public class SdlPacket implements Parcelable{ } public byte[] constructPacket(){ - return constructPacket(version, encrypted, frameType, + return constructPacket(version, encryption, frameType, serviceType, frameInfo, sessionId, dataSize, messageId, payload); } @@ -206,7 +206,7 @@ public class SdlPacket implements Parcelable{ /** * This method takes in the various components to the SDL packet structure and creates a new byte array that can be sent via the transport * @param version - * @param compression + * @param encryption * @param frameType * @param serviceType * @param controlFrameInfo @@ -216,7 +216,7 @@ public class SdlPacket implements Parcelable{ * @param payload * @return */ - public static byte[] constructPacket(int version, boolean encrypted, int frameType, + public static byte[] constructPacket(int version, boolean encryption, int frameType, int serviceType, int controlFrameInfo, int sessionId, int dataSize, int messageId, byte[] payload){ ByteBuffer builder; @@ -229,7 +229,7 @@ public class SdlPacket implements Parcelable{ break; } - builder.put((byte)((version<<4) + getEncryptionBit(encrypted) + frameType)); + builder.put((byte)((version<<4) + getEncryptionBit(encryption) + frameType)); builder.put((byte)serviceType); builder.put((byte)controlFrameInfo); builder.put((byte)sessionId); @@ -254,9 +254,9 @@ public class SdlPacket implements Parcelable{ } - public static int getEncryptionBit(boolean encrypted){ - if(encrypted){ - return ENCRIPTION_MASK; + public static int getEncryptionBit(boolean encryption){ + if(encryption){ + return ENCRYPTION_MASK; }else{ return 0; } @@ -269,7 +269,7 @@ public class SdlPacket implements Parcelable{ StringBuilder builder = new StringBuilder(); builder.append("***** Sdl Packet ******"); builder.append( "\nVersion: " +version); - builder.append( "\nEncrypted: " +encrypted); + builder.append( "\nEncryption: " +encryption); builder.append( "\nFrameType: " +frameType); builder.append( "\nServiceType: " +serviceType); builder.append( "\nFrameInfo: " +frameInfo); @@ -294,7 +294,7 @@ public class SdlPacket implements Parcelable{ //I think this is FIFO...right? public SdlPacket(Parcel p) { this.version = p.readInt(); - this.encrypted = (p.readInt() == 0) ? false : true; + this.encryption = (p.readInt() == 0) ? false : true; this.frameType = p.readInt(); this.serviceType = p.readInt(); this.frameInfo = p.readInt(); @@ -318,7 +318,7 @@ public class SdlPacket implements Parcelable{ public void writeToParcel(Parcel dest, int flags) { dest.writeInt(version); - dest.writeInt(encrypted? 1 : 0); + dest.writeInt(encryption? 1 : 0); dest.writeInt(frameType); dest.writeInt(serviceType); dest.writeInt(frameInfo); diff --git a/sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacketFactory.java b/sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacketFactory.java index db1795f02..5cc2807e8 100644 --- a/sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacketFactory.java +++ b/sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacketFactory.java @@ -10,8 +10,8 @@ public class SdlPacketFactory { int serviceType, int frameInfo, int sessionId, int dataSize, int messageId, byte[] payload) { */ - public static SdlPacket createStartSession(SessionType serviceType, int messageID, byte version, byte sessionID, boolean isEncrypted) { - SdlPacket packet = new SdlPacket(version,isEncrypted,SdlPacket.FRAME_TYPE_CONTROL, + public static SdlPacket createStartSession(SessionType serviceType, int messageID, byte version, byte sessionID, boolean encrypted) { + SdlPacket packet = new SdlPacket(version,encrypted,SdlPacket.FRAME_TYPE_CONTROL, serviceType.getValue(),SdlPacket.FRAME_INFO_START_SERVICE,sessionID, 0,messageID,null); @@ -54,26 +54,26 @@ public class SdlPacketFactory { } public static SdlPacket createSingleSendData(SessionType serviceType, byte sessionID, - int dataLength, int messageID, byte version, byte[] payload, boolean isEncrypted) { + int dataLength, int messageID, byte version, byte[] payload, boolean encrypted) { - return new SdlPacket(version,isEncrypted,SdlPacket.FRAME_TYPE_SINGLE, + return new SdlPacket(version,encrypted,SdlPacket.FRAME_TYPE_SINGLE, serviceType.getValue(),0,sessionID, payload.length,messageID,payload); } public static SdlPacket createMultiSendDataFirst(SessionType serviceType, byte sessionID, - int messageID, byte version, byte[] payload, boolean isEncrypted) { + int messageID, byte version, byte[] payload, boolean encrypted) { - return new SdlPacket(version,isEncrypted,SdlPacket.FRAME_TYPE_FIRST, + return new SdlPacket(version,encrypted,SdlPacket.FRAME_TYPE_FIRST, serviceType.getValue(),0,sessionID, 8,messageID,payload); } public static SdlPacket createMultiSendDataRest(SessionType serviceType, byte sessionID, - int dataLength, byte frameSequenceNumber, int messageID, byte version, byte[] payload,int offset,int length, boolean isEncrypted) { + int dataLength, byte frameSequenceNumber, int messageID, byte version, byte[] payload,int offset,int length, boolean encrypted) { - return new SdlPacket(version,isEncrypted,SdlPacket.FRAME_TYPE_CONSECUTIVE, + return new SdlPacket(version,encrypted,SdlPacket.FRAME_TYPE_CONSECUTIVE, serviceType.getValue(),frameSequenceNumber,sessionID, length,messageID,payload,offset,length); } diff --git a/sdl_android_lib/src/com/smartdevicelink/protocol/WiProProtocol.java b/sdl_android_lib/src/com/smartdevicelink/protocol/WiProProtocol.java index 3b950d79e..83b7ae68c 100644 --- a/sdl_android_lib/src/com/smartdevicelink/protocol/WiProProtocol.java +++ b/sdl_android_lib/src/com/smartdevicelink/protocol/WiProProtocol.java @@ -314,7 +314,7 @@ public class WiProProtocol extends AbstractProtocol { protected void handleFrame(SdlPacket packet) {
- if (packet != null && packet.payload.length > 0 && packet.isEncrypted() )
+ if (packet.getPayload() != null && packet.getDataSize() > 0 && packet.isEncrypted() )
{
if (sdlconn != null)
{
@@ -389,7 +389,6 @@ public class WiProProtocol extends AbstractProtocol { }
} else if (frameInfo == FrameDataControlFrameType.EndSession.getValue()) {
if (_version > 1) {
- if (hashID == packet.getMessageId())
handleProtocolSessionEnded(serviceType, (byte)packet.getSessionId(), "");
} else {
handleProtocolSessionEnded(serviceType, (byte)packet.getSessionId(), "");
@@ -399,9 +398,9 @@ public class WiProProtocol extends AbstractProtocol { } else if (frameInfo == FrameDataControlFrameType.EndSessionNACK.getValue()) {
handleProtocolSessionEndedNACK(serviceType, (byte)packet.getSessionId(), "");
} else if (frameInfo == FrameDataControlFrameType.ServiceDataACK.getValue()) {
- if (packet.payload != null && packet.payload.length == 4) //service data ack will be 4 bytes in length
+ if (packet.getPayload() != null && packet.getDataSize() == 4) //service data ack will be 4 bytes in length
{
- int serviceDataAckSize = BitConverter.intFromByteArray(packet.payload, 0);
+ int serviceDataAckSize = BitConverter.intFromByteArray(packet.getPayload(), 0);
handleProtocolServiceDataACK(serviceType, serviceDataAckSize,(byte)packet.getSessionId ());
}
}
diff --git a/sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java b/sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java index 2b31ea03c..74376b7ed 100644 --- a/sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java +++ b/sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java @@ -3721,7 +3721,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase> if (sdlConn == null) return;
sdlSession.drainEncoder(endOfStream);
- } + }
private void NavServiceStarted() {
navServiceStartResponseReceived = true;
|