summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnil Dahiya <anil_dahiya@infosys.com>2016-07-20 14:41:51 +0530
committerAnil Dahiya <anil_dahiya@infosys.com>2016-07-20 14:41:51 +0530
commit18b2a4ce2a8499e361852c479dbbc958669c82b4 (patch)
tree58ba8c8c151674437756626521f4203b84550499
parent0018645ed6e949dc8e662920503a0b52c5ca980a (diff)
downloadsdl_android-18b2a4ce2a8499e361852c479dbbc958669c82b4.tar.gz
Removing ProtocolFrameHeader, ProtocolFrameHeaderFactory which got included during merge with develop and additional cleanup for encryption.
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/protocol/ProtocolFrameHeader.java159
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/protocol/ProtocolFrameHeaderFactory.java147
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacket.java38
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/protocol/SdlPacketFactory.java16
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/protocol/WiProProtocol.java7
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java2
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;