X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fsecurity%2Fprovisioning%2Fsrc%2Fcloud%2Faclid.c;h=20da886e147f721cbc9123063325cd5ef50d7be7;hb=refs%2Ftags%2Faccepted%2Ftizen%2Funified%2F20171010.063815;hp=6c0fa4c88250a513fe75c4b4c50f39168ae0e287;hpb=1a2e71f9c470c7cc17157f83deb4488ee83050a4;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/security/provisioning/src/cloud/aclid.c b/resource/csdk/security/provisioning/src/cloud/aclid.c index 6c0fa4c..20da886 100644 --- a/resource/csdk/security/provisioning/src/cloud/aclid.c +++ b/resource/csdk/security/provisioning/src/cloud/aclid.c @@ -1,3 +1,22 @@ +/* ***************************************************************** + * + * Copyright 2016 Samsung Electronics All Rights Reserved. + * + * + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * *****************************************************************/ #include "utils.h" #include "oic_malloc.h" @@ -5,14 +24,19 @@ #include "ocstack.h" #include "ocpayload.h" #include "pmutility.h" -#include "srmutility.h" #include "cacommonutil.h" #include "aclresource.h" #include "ocpayloadcbor.h" #include "payload_logging.h" #include "utlist.h" +#include "securevirtualresourcetypes.h" + +#define TAG "OIC_CLOUD_ACL_ID" -#define TAG "CLOUD-ACL-ID" +/* Although this is already implemented in srmutility.h, we can't include the header file, + * because of "redefined VERIFY_NON_NULL" + */ +OCStackResult ConvertUuidToStr(const OicUuid_t* uuid, char** strUuid); /** * ACL Id parse from received response @@ -174,7 +198,7 @@ static OCStackResult handleAclGetInfoResponse(void *ctx, void **data, OCClientRe printACL(acl); - result = InstallNewACL2(acl); + result = InstallACL(acl); if (result != OC_STACK_OK) { OIC_LOG(ERROR, TAG, "Can't update ACL resource"); @@ -527,3 +551,33 @@ OCStackResult OCCloudAclIndividualDeleteAce(void* ctx, CT_ADAPTER_TCP, OC_LOW_QOS, &cbData, NULL, 0); } +OCStackResult ConvertUuidToStr(const OicUuid_t* uuid, char** strUuid) +{ + if (NULL == uuid || NULL == strUuid || NULL != *strUuid) + { + OIC_LOG(ERROR, TAG, "ConvertUuidToStr : Invalid param"); + return OC_STACK_INVALID_PARAM; + } + + size_t uuidIdx = 0; + size_t urnIdx = 0; + const size_t urnBufSize = (UUID_LENGTH * 2) + 4 + 1; + char *convertedUrn = (char*)OICCalloc(urnBufSize, sizeof(char)); + VERIFY_NON_NULL(convertedUrn, TAG, "OICCalloc() is failed(convertedUrn)"); + + for (uuidIdx = 0, urnIdx = 0; uuidIdx < UUID_LENGTH && urnIdx < urnBufSize; + uuidIdx++, urnIdx += 2) + { + // canonical format for UUID has '8-4-4-4-12' + if (4 == uuidIdx || 6 == uuidIdx || 8 == uuidIdx || 10 == uuidIdx) + { + snprintf(convertedUrn + urnIdx, 2, "%c", '-'); + urnIdx++; + } + snprintf(convertedUrn + urnIdx, 3, "%02x", (uint8_t)(uuid->id[uuidIdx])); + } + convertedUrn[urnBufSize - 1] = '\0'; + + *strUuid = convertedUrn; + return OC_STACK_OK; +}