From: Eunhye Choi Date: Thu, 29 May 2025 10:41:09 +0000 (+0900) Subject: Removed smack dependency X-Git-Tag: accepted/tizen/unified/20250604.163018~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F69%2F324969%2F2;p=platform%2Fcore%2Fapi%2Fwebrtc.git Removed smack dependency Removed smack dependency by using cynara api [Version] 1.1.49 Change-Id: I3c6b91e4e0b1a9cc5ef78e156ad1c5c2ca2d5399 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 59e9e8d5..abcdca9b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ INCLUDE_DIRECTORIES(${INC_DIR}) SET(dependents "dlog glib-2.0 gstreamer-1.0 gstreamer-webrtc-1.0 gstreamer-video-1.0 gstreamer-audio-1.0 \ gstreamer-allocators-1.0 libpulse json-glib-1.0 iniparser mm-common mm-display-interface capi-media-tool \ - libtbm cynara-client libsmack capi-system-info bundle capi-media-sound-manager mm-fileinfo") + libtbm cynara-client cynara-creds-self capi-system-info bundle capi-media-sound-manager mm-fileinfo") IF(NOT TIZEN_PROFILE_TV) SET(dependents "${dependents} resource-manager resource-center-api") IF(TIZEN_FEATURE_UI) diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index 2a989d59..367dffb9 100644 --- a/packaging/capi-media-webrtc.spec +++ b/packaging/capi-media-webrtc.spec @@ -1,6 +1,6 @@ Name: capi-media-webrtc Summary: A WebRTC library in Tizen Native API -Version: 1.1.48 +Version: 1.1.49 Release: 0 Group: Multimedia/API License: Apache-2.0 @@ -32,7 +32,7 @@ BuildRequires: pkgconfig(libsoup-2.4) BuildRequires: pkgconfig(libwebsockets) %endif BuildRequires: pkgconfig(cynara-client) -BuildRequires: pkgconfig(libsmack) +BuildRequires: pkgconfig(cynara-creds-self) BuildRequires: pkgconfig(capi-system-info) BuildRequires: pkgconfig(capi-media-sound-manager) BuildRequires: pkgconfig(bundle) diff --git a/src/webrtc_restriction.c b/src/webrtc_restriction.c index b8f3ece3..20339906 100644 --- a/src/webrtc_restriction.c +++ b/src/webrtc_restriction.c @@ -17,7 +17,7 @@ #include "webrtc.h" #include "webrtc_private.h" #include -#include +#include #include int _check_privilege(const char *privilege) @@ -25,18 +25,24 @@ int _check_privilege(const char *privilege) int ret = WEBRTC_ERROR_NONE; int cynara_ret; cynara *cynara_h; - char *smack_label; + char *client_identification; char uid[10]; RET_VAL_IF(privilege == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "privilege is NULL"); - RET_VAL_IF(cynara_initialize(&cynara_h, NULL) != CYNARA_API_SUCCESS, WEBRTC_ERROR_INVALID_OPERATION, - "failed to cynara_initialize()"); - RET_VAL_IF(smack_new_label_from_self(&smack_label) == -1, WEBRTC_ERROR_INVALID_OPERATION, "failed to smack_new_label_from_self()"); + RET_VAL_IF(cynara_initialize(&cynara_h, NULL) != CYNARA_API_SUCCESS, + WEBRTC_ERROR_INVALID_OPERATION, "failed to cynara_initialize()"); + + ret = cynara_creds_self_get_client(CLIENT_METHOD_DEFAULT, &client_identification); + if (ret != CYNARA_API_SUCCESS) { + LOG_ERROR("failed to cynara_creds_self_get_client()"); + cynara_finish(cynara_h); + return WEBRTC_ERROR_INVALID_OPERATION; + } snprintf(uid, sizeof(uid), "%d", getuid()); - LOG_DEBUG("smack_label[%s] uid[%s]\n", smack_label, uid); + LOG_DEBUG("client_identification[%s] uid[%s]\n", client_identification, uid); - cynara_ret = cynara_check(cynara_h, smack_label, "", uid, privilege); + cynara_ret = cynara_check(cynara_h, client_identification, "", uid, privilege); //LCOV_EXCL_START if (cynara_ret != CYNARA_API_ACCESS_ALLOWED) { LOG_ERROR("NOT ALLOWED, privilege[%s], cynara_ret[%d]", privilege, cynara_ret); @@ -48,7 +54,7 @@ int _check_privilege(const char *privilege) LOG_INFO("ALLOWED, privilege[%s]", privilege); exit: - free(smack_label); + free(client_identification); cynara_finish(cynara_h); return ret; }