X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fsecurity%2Fsrc%2Fdirectpairing.c;h=7fa8bb20312ae890f2958368a7550ce16194d706;hb=refs%2Ftags%2Ftizen_4.0.m2_release;hp=7091b9a8e84fe4329150d7ff6154eb5fbf56b82a;hpb=7257937531b5a9165f58e377eafffae175259665;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/security/src/directpairing.c b/resource/csdk/security/src/directpairing.c index 7091b9a..7fa8bb2 100644 --- a/resource/csdk/security/src/directpairing.c +++ b/resource/csdk/security/src/directpairing.c @@ -38,7 +38,11 @@ #include "oic_malloc.h" #include "oic_string.h" #include "logger.h" +#if defined (__TIZENRT__) +#include +#else #include "cJSON.h" +#endif #include "utlist.h" #include "ocpayload.h" #include "payload_logging.h" @@ -56,11 +60,6 @@ #include "srmutility.h" -#ifdef __WITH_DTLS__ -#include "global.h" -#endif - - #define TAG ("OIC_DP") static const uint16_t CBOR_SIZE = 1024; @@ -266,13 +265,26 @@ bool DPGenerateQuery(bool isSecure, switch(connType & CT_MASK_FLAGS & ~CT_FLAG_SECURE) { case CT_IP_USE_V4: - snRet = snprintf(buffer, bufferSize, "%s%s:%d%s", - prefix, address, port, uri); + snRet = snprintf(buffer, bufferSize, "%s%s:%d%s", + prefix, address, port, uri); break; case CT_IP_USE_V6: - snRet = snprintf(buffer, bufferSize, "%s[%s]:%d%s", - prefix, address, port, uri); + { + char addressEncoded[CA_MAX_URI_LENGTH] = {0}; + + OCStackResult result = OCEncodeAddressForRFC6874(addressEncoded, + sizeof(addressEncoded), + address); + if (OC_STACK_OK != result) + { + OIC_LOG_V(ERROR, TAG, "DPGenerateQuery : encoding error %d\n", result); + return false; + } + + snRet = snprintf(buffer, bufferSize, "%s[%s]:%d%s", + prefix, addressEncoded, port, uri); break; + } default: OIC_LOG(ERROR, TAG, "Unknown address format."); return false; @@ -384,12 +396,6 @@ static OCStackApplicationResult DirectPairingFinalizeHandler(void *ctx, OCDoHand { OIC_LOG(INFO, TAG, "Fail to close temporary dtls session"); } - - caResult = CASelectCipherSuite(TLS_NULL_WITH_NULL_NULL, CA_ADAPTER_IP); - if(CA_STATUS_OK != caResult) - { - OIC_LOG(ERROR, TAG, "Failed to select TLS_NULL_WITH_NULL_NULL"); - } #endif // __WITH_DTLS__ or __WITH_TLS__ OIC_LOG(INFO, TAG, "Direct-Papring was successfully completed."); @@ -625,7 +631,7 @@ static OCStackApplicationResult DirectPairingHandler(void *ctx, OCDoHandle UNUSE caresult = CAEnableAnonECDHCipherSuite(false); VERIFY_SUCCESS(TAG, CA_STATUS_OK == caresult, ERROR); - caresult = CASelectCipherSuite(TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA_256, CA_ADAPTER_IP); + caresult = CASelectCipherSuite(MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, CA_ADAPTER_IP); VERIFY_SUCCESS(TAG, CA_STATUS_OK == caresult, ERROR); //Register proceeding peer info. & DTLS event handler to catch the dtls event while handshake @@ -670,6 +676,8 @@ exit: RemoveCredential(&dpairData->peer->deviceID); OICFree(dpairData); g_dp_proceed_ctx = NULL; + OIC_LOG_V(INFO, TAG, "OUT DirectPairingHandler."); + return OC_STACK_DELETE_TRANSACTION; } resultCallback(dpairData->userCtx, dpairData->peer, res);