return 0;
case CA_ADAPTER_TCP:
return 1;
+ case CA_ADAPTER_GATT_BTLE:
+ return 2;
default:
OIC_LOG(ERROR, NET_SSL_TAG, "Unsupported adapter");
return -1;
OIC_LOG_V(DEBUG, NET_SSL_TAG, "Adapter: %u", ((SslEndPoint_t * )tep)->sep.endpoint.adapter);
ssize_t sentLen = 0;
int adapterIndex = GetAdapterIndex(((SslEndPoint_t * )tep)->sep.endpoint.adapter);
- if (0 == adapterIndex || 1 == adapterIndex)
+ if (0 <= adapterIndex && MAX_SUPPORTED_ADAPTERS > adapterIndex)
{
CAPacketSendCallback sendCallback = g_caSslContext->adapterCallbacks[adapterIndex].sendCallback;
sentLen = sendCallback(&(((SslEndPoint_t * )tep)->sep.endpoint), (const void *) data, dataLen);
mbedtls_pk_init(&g_caSslContext->pkey);
mbedtls_x509_crl_init(&g_caSslContext->crl);
- mbedtls_ssl_config * serverConf = (adapter == CA_ADAPTER_IP ?
+ mbedtls_ssl_config * serverConf = (adapter == CA_ADAPTER_IP ||
+ adapter == CA_ADAPTER_GATT_BTLE ?
&g_caSslContext->serverDtlsConf : &g_caSslContext->serverTlsConf);
- mbedtls_ssl_config * clientConf = (adapter == CA_ADAPTER_IP ?
+ mbedtls_ssl_config * clientConf = (adapter == CA_ADAPTER_IP ||
+ adapter == CA_ADAPTER_GATT_BTLE ?
&g_caSslContext->clientDtlsConf : &g_caSslContext->clientTlsConf);
// optional
int ret = ParseChain(&g_caSslContext->crt, g_pkiInfo.crt.data, g_pkiInfo.crt.len);
{
continue;
}
- OIC_LOG_V(DEBUG, NET_SSL_TAG, "Compare [%s:%d] and [%s:%d]",
- peer->addr, peer->port, tep->sep.endpoint.addr, tep->sep.endpoint.port);
- if((0 == strncmp(peer->addr, tep->sep.endpoint.addr, MAX_ADDR_STR_SIZE_CA))
- && (peer->port == tep->sep.endpoint.port))
+
+ OIC_LOG_V(DEBUG, NET_SSL_TAG, "Compare [%s:%d] and [%s:%d] for %d adapter",
+ peer->addr, peer->port, tep->sep.endpoint.addr, tep->sep.endpoint.port,
+ peer->adapter);
+
+ if((peer->adapter == tep->sep.endpoint.adapter)
+ && (0 == strncmp(peer->addr, tep->sep.endpoint.addr, MAX_ADDR_STR_SIZE_CA))
+ && (peer->port == tep->sep.endpoint.port || CA_ADAPTER_GATT_BTLE == peer->adapter))
{
OIC_LOG_V(DEBUG, NET_SSL_TAG, "Out %s", __func__);
return tep;
VERIFY_NON_NULL_RET(endpoint, NET_SSL_TAG, "Param endpoint is NULL" , NULL);
- mbedtls_ssl_config * config = (endpoint->adapter == CA_ADAPTER_IP ?
+ mbedtls_ssl_config * config = (endpoint->adapter == CA_ADAPTER_IP ||
+ endpoint->adapter == CA_ADAPTER_GATT_BTLE ?
&g_caSslContext->clientDtlsConf : &g_caSslContext->clientTlsConf);
tep = NewSslEndPoint(endpoint, config);
if (NULL == tep)
SslEndPoint_t * peer = GetSslPeer(&sep->endpoint);
if (NULL == peer)
{
- mbedtls_ssl_config * config = (sep->endpoint.adapter == CA_ADAPTER_IP ?
+ mbedtls_ssl_config * config = (sep->endpoint.adapter == CA_ADAPTER_IP ||
+ sep->endpoint.adapter == CA_ADAPTER_GATT_BTLE ?
&g_caSslContext->serverDtlsConf : &g_caSslContext->serverTlsConf);
peer = NewSslEndPoint(&sep->endpoint, config);
if (NULL == peer)
else if (0 < ret)
{
int adapterIndex = GetAdapterIndex(peer->sep.endpoint.adapter);
- if (0 == adapterIndex || adapterIndex == 1)
+ if (0 <= adapterIndex && MAX_SUPPORTED_ADAPTERS > adapterIndex)
{
g_caSslContext->adapterCallbacks[adapterIndex].recvCallback(&peer->sep, decryptBuffer, ret);
}
g_caSslContext->adapterCallbacks[1].recvCallback = recvCallback;
g_caSslContext->adapterCallbacks[1].sendCallback = sendCallback;
break;
+ case CA_ADAPTER_GATT_BTLE:
+ g_caSslContext->adapterCallbacks[2].recvCallback = recvCallback;
+ g_caSslContext->adapterCallbacks[2].sendCallback = sendCallback;
+ break;
default:
OIC_LOG_V(ERROR, NET_SSL_TAG, "Unsupported adapter: %d", type);
}
ptr->endpoint = *endpoint;
ptr->doxm = doxm;
- ptr->securePort = DEFAULT_SECURE_PORT;
+ ptr->securePort = (CT_ADAPTER_GATT_BTLE == connType) ?
+ endpoint->port : DEFAULT_SECURE_PORT;
ptr->next = NULL;
ptr->connType = connType;
ptr->devStatus = DEV_STATUS_ON; //AddDevice is called when discovery(=alive)
return OC_STACK_ERROR;
}
- ptr->securePort = securePort;
+ ptr->securePort = (OC_ADAPTER_GATT_BTLE == ptr->endpoint.adapter) ?
+ ptr->endpoint.port : securePort;
#ifdef __WITH_TLS__
ptr->tcpPort = tcpPort;
OIC_LOG(ERROR, TAG, "Unknown address format.");
return false;
}
- // snprintf return value check
- if (snRet < 0)
- {
- OIC_LOG_V(ERROR, TAG, "PMGenerateQuery : Error (snprintf) %d\n", snRet);
- return false;
- }
- else if ((size_t)snRet >= bufferSize)
- {
- OIC_LOG_V(ERROR, TAG, "PMGenerateQuery : Truncated (snprintf) %d\n", snRet);
- return false;
- }
-
break;
- // TODO: We need to verify tinyDTLS in below cases
case CT_ADAPTER_GATT_BTLE:
+ snRet = snprintf(buffer, bufferSize, "%s%s%s",
+ prefix, address, uri);
+ break;
case CT_ADAPTER_RFCOMM_BTEDR:
OIC_LOG(ERROR, TAG, "Not supported connectivity adapter.");
return false;
return false;
}
+ // snprintf return value check
+ if (snRet < 0)
+ {
+ OIC_LOG_V(ERROR, TAG, "PMGenerateQuery : Error (snprintf) %d\n", snRet);
+ return false;
+ }
+ else if ((size_t)snRet >= bufferSize)
+ {
+ OIC_LOG_V(ERROR, TAG, "PMGenerateQuery : Truncated (snprintf) %d\n", snRet);
+ return false;
+ }
+
return true;
}
{
OIC_LOG_V(INFO, TAG, "StackResult: %s", getResult(clientResponse->result));
OIC_LOG_PAYLOAD(INFO, clientResponse->payload);
- OIC_LOG(INFO, TAG, ("=============> Put Response"));
+ OIC_LOG(INFO, TAG, "=============> Put Response");
}
return OC_STACK_DELETE_TRANSACTION;
}
{
OIC_LOG_V(INFO, TAG, "StackResult: %s", getResult(clientResponse->result));
OIC_LOG_PAYLOAD(INFO, clientResponse->payload);
- OIC_LOG(INFO, TAG, ("=============> Post Response"));
+ OIC_LOG(INFO, TAG, "=============> Post Response");
}
return OC_STACK_DELETE_TRANSACTION;
}
OIC_LOG_V(INFO, TAG, "StackResult: %s", getResult(clientResponse->result));
OIC_LOG_V(INFO, TAG, "SEQUENCE NUMBER: %d", clientResponse->sequenceNumber);
OIC_LOG_PAYLOAD(INFO, clientResponse->payload);
- OIC_LOG(INFO, TAG, ("=============> Get Response"));
+ OIC_LOG(INFO, TAG, "=============> Get Response");
}
return OC_STACK_DELETE_TRANSACTION;
}