From 09a7a8bf8e454f7e698b5cb8606cd642095fa6e5 Mon Sep 17 00:00:00 2001 From: Andrii Shtompel Date: Thu, 1 Sep 2016 11:12:49 +0900 Subject: [PATCH] CAIsTlsMessage fix Wrong param was put to CAIsTlsMessage This causes problems with TLS Change-Id: Ie65bc9c2fea10d7741ce14c24b0d723b58f098f1 Signed-off-by: Andrii Shtompel Reviewed-on: https://gerrit.iotivity.org/gerrit/11239 Tested-by: jenkins-iotivity Reviewed-by: Hyuna Jo Reviewed-by: Randeep Singh --- resource/csdk/connectivity/src/tcp_adapter/catcpserver.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c b/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c index d532c10..4fb8c27 100644 --- a/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c +++ b/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c @@ -361,15 +361,15 @@ static void CAAcceptConnection(CATransportFlags_t flag, CASocket_t *sock) } #ifdef __WITH_TLS__ -static bool CAIsTlsMessage(const CATCPSessionInfo_t * recvinfo) +static bool CAIsTlsMessage(const unsigned char* data, size_t length) { - if (recvinfo->data == NULL || recvinfo->len == 0) + if (NULL == data || 0 == length) { OIC_LOG_V(ERROR, TAG, "%s: null input param", __func__); return false; } - unsigned char first_byte = recvinfo->data[0]; + unsigned char first_byte = data[0]; //TLS Plaintext has four types: change_cipher_spec = [14], alert = [15], //handshake = [16], application_data = [17] in HEX @@ -450,7 +450,7 @@ static CAResult_t CAReadHeader(CATCPSessionInfo_t *svritem) //if enough data received - parse header #ifdef __WITH_TLS__ - if (CAIsTlsMessage(svritem)) + if (CAIsTlsMessage(svritem->data, svritem->len)) { svritem->protocol = TLS; @@ -1003,7 +1003,7 @@ static void sendData(const CAEndpoint_t *endpoint, const void *data, // #2. check payload length #ifdef __WITH_TLS__ - if (false == CAIsTlsMessage(svritem)) + if (false == CAIsTlsMessage(data, dlen)) #endif { size_t payloadLen = CACheckPayloadLength(data, dlen); -- 2.7.4